[英]Changing Gridview row background color when editing?
在编辑时编辑gridview行的背景颜色我遇到了一些麻烦。
问题是,我正在使用RowDataBound
事件方法在显示报告时根据条件更改e.Row.BackColor
(3种不同的颜色取决于结果)。 对于不符合该条件的行,单击“编辑”按钮时将应用GridView的属性<EditRowStyle BackColor="#999999" />
。
但是,我似乎无法找到一种方法来改变那些符合标准的颜色,因为RowDataBound似乎一直被调用,覆盖了我所做的任何更改。
有什么建议么?
在Grid RowEditing事件中写一行:
GridView1.EditRowStyle.BackColor = System.Drawing.Color.LightYellow;
希望这可以帮助。 配置GridView行编辑。 这应该是足够的信息。 如果您需要更多,请告诉我。
protected void uxGrid_RowEditing(object sender, GridViewEditEventArgs e)
{
ClearBackColor();
GridViewRow row = uxGrid.Rows[e.NewEditIndex];
row.BackColor = Color.LightYellow;
}
private void ClearBackColor()
{
foreach (GridViewRow row in uxGrid.Rows)
{
row.BackColor = System.Drawing.Color.Transparent;
}
}
尝试:
<asp:GridView runat="server" >
<Columns>
</Columns>
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#999999" />
</asp:GridView>
为什么不编写自己的逻辑方法来改变行的颜色?,循环遍历行,这可以避免回发问题......也许!
正如@Rami所说,创建一个循环DataGrid行并更改颜色的方法。 在PreRender事件处理程序中调用此方法。 这样每次回发都会调用此方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.