C# 向sql查询中case语句中设置的数据添加样式
我希望在gridview的Status列中修改每个结果的颜色,是否仍要使用查询中的case语句来执行此操作,或者我必须更改此操作 基本上,如果它正在等待它的红色,如果它正在审查它的橙色,如果它完成它的绿色。用当前代码实现这一点的最佳方法是什么 我在C#的Visual Studio中做所有事情 我希望它看起来像这样: SQL语句背后的代码,我在其中声明状态变量:C# 向sql查询中case语句中设置的数据添加样式,c#,sql,gridview,case,C#,Sql,Gridview,Case,我希望在gridview的Status列中修改每个结果的颜色,是否仍要使用查询中的case语句来执行此操作,或者我必须更改此操作 基本上,如果它正在等待它的红色,如果它正在审查它的橙色,如果它完成它的绿色。用当前代码实现这一点的最佳方法是什么 我在C#的Visual Studio中做所有事情 我希望它看起来像这样: SQL语句背后的代码,我在其中声明状态变量: SqlCommand mySqlCommand = new SqlCommand(@"SELECT W.ID, W.Name,
SqlCommand mySqlCommand = new SqlCommand(@"SELECT W.ID, W.Name,
CASE W.Type
WHEN 1 then 'U.S.'
WHEN 2 then 'Foreign'
end as Type,
CASE W.Status
WHEN 0 then 'Pending'
WHEN 1 then 'In Review'
WHEN 2 then 'Complete'
end as Status,
等等
正面:
<asp:GridView runat="server" ID="GridView1" CssClass="gridview" BorderColor="#E8CC6B"
BorderStyle="Solid" BorderWidth="1px" Font-Size="Medium" HorizontalAlign="Left"
AlternatingRowStyle-CssClass="even" Width="750px" AutoGenerateColumns="False"
AllowPaging="True" onpageindexchanging="GridView1_PageIndexChanging"
PageSize="25" ShowFooter="True" OnRowDataBound="GridView1_RowDataBound"> <PagerStyle CssClass="cssPager" /><FooterStyle CssClass="cssFooter" />
<AlternatingRowStyle CssClass="even"></AlternatingRowStyle>
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Type" HeaderText="Type" />
<asp:BoundField DataField="Status" HeaderText="Status" />
</Columns>
</asp:GridView>
您可以使用事件来实现这一点。根据文本设置单元格颜色
void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
switch (e.Row.Cells[3].Text)
{
case "Panding":
e.Row.Cells[3].ForeColor = System.Drawing.Color.Red;
break;
case "Complete":
e.Row.Cells[3].ForeColor = System.Drawing.Color.Green;
break;
case "In Review":
e.Row.Cells[3].ForeColor = System.Drawing.Color.Yellow;
break;
default:
e.Row.Cells[3].ForeColor = System.Drawing.Color.Black;
break;
};
}
}
你我的朋友真是天赐之物!这是完美的,效果很好。感谢您的快速、即时回复!