如果gridview中的值为空,我有此问题可以更改gridview颜色。我使用templatefield生成gridview。我用这个代码,并改变所有在GridView中除了标题:如果值为空,则更改gridview背景颜色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//change it according your cell number or find element
if (e.Row.Cells[0].Text != "")
e.Row.BackColor = System.Drawing.Color.White;
else
e.Row.BackColor = System.Drawing.Color.Red;
}
}
,这是我回来的代码,我给你的GridView:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound" >
<Columns>
<asp:TemplateField HeaderText="Request Date">
<ItemTemplate><%#Eval("request_date")%></ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A01">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A01" ? "Job Order:"
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\n\nNeed by Date:"
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A02">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A02" ?"Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A03">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A03" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A04">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A04" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A05">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A05" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A06">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A06" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A07">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A07" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A08">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A08" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A09">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A09" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A10">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A10" ?"Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A11">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A11" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A12">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A12" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A13">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A13" ?"Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A14">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A14" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A15">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A15" ?"Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A16">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A16" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A17">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A17" ?"Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "
+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="A18">
<ItemTemplate>
<%#Eval("prod_line").ToString() == "A18" ? "Job Order: "
+Eval("jo_no") +"\n\n\n\n\nQuantity: "
+Eval("qty")+"\n\n\n\nNeed by Date: "
+Eval("need_by_date")+"\n\n\n\n\nStatus: "+Eval("process_id") : "" %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我得到这样的输出:
,但我想输出是这样的:
哦,我明白为什么会发生。但如果gridview列/行中没有值,我想为它着色。我怎么能做到这一点? – NFH
这么多方法,获得单元格值,将其转换为字符串,并检查长度或检查字符串.Empty – Saurabh
@NFH如果确实帮助你比请upvote标记作为答案 – Saurabh