在asp.net c#上更改gridview上的行或记录的颜色?
我正在预约一张桌子……我需要做以下事情……
显示尚未参加的所有约会(我有一个按钮将其标记为有人参加)…如果没有参加约会并且其日期在今天的日期之前,那么该行必须以红色显示(文本字体颜色) …
所以我的问题是,如何更改特定行的颜色,以及是否必须在查询中指定此行必须具有不同的颜色?
谢谢
<asp:ImageButton ID="imgBtnEdicEvento" runat="server" CommandArgument='' CommandName="Edicion" Height="32px" ImageUrl="~/img/pencil_32.png" Width="32px" /> <asp:ImageButton ID="imgBtnDelete" runat="server" CommandName="Borrar" ImageUrl="~/img/1385_Disable_16x16_72.png" onclientclick="return confirm('¿Desea eliminar el registro?');" CommandArgument='' /> <asp:TextBox ID="tbxFecha" runat="server" Text='' ValidationGroup="gpEdicionAgenda"> <asp:ImageButton ID="imgBtnAtender" runat="server" CommandArgument='' CommandName="Atender" ImageUrl="~/img/activar.png" Width="16px" Height="16px" onclientclick="return confirm('¿Desea marcar como atendido este registro?');" /> <asp:ImageButton ID="imgBtnCRM" runat="server" CommandArgument='' CommandName="CRM" ImageUrl="~/img/go.gif" Width="16px" Height="16px" /> <asp:ImageButton ID="imgBtnVerMas" runat="server" CommandArgument='' CommandName="VerMas" ImageUrl="~/img/search.png" Width="16px" Height="16px" />
您可以通过在行的Backcolor属性中指定颜色来更改行的颜色,您可以在gridview的grdvEventosVendedor_RowDataBound
事件中指定
e.Row.BackColor = Drawing.Color.Red;
或者,你可以使用
`e.Row.BackColor = Color.FromName("#FFOOOO");`
你可以这样做来实现上面的东西:
protected void grdvEventosVendedor_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType = DataControlRowType.DataRow) { if(put_your_condition_here) { e.Row.BackColor = Drawing.Color.Red; //// or you can assign color by doing this: e.Row.BackColor = Color.FromName("#FFOOOO"); } } }
有许多方法可以解决这个问题,包括在RowDataBound事件期间在数据绑定(或)之后循环遍历每一行:
foreach (GridViewRow row in yourGridView.Rows) { // Find controls/data to do comparison against e.Row.BackColor = Color.FromName("#FF0000"); }
要么…
protected void yourGridView_RowDataBound(object sender, GridViewRowEventArgs e) { // Watch out for header and footer rows here e.Row.BackColor = Color.FromName("#FF0000"); }