在编辑时编辑gridview行的背景颜色时遇到了一些麻烦。
问题是,我正在使用RowDataBound
事件方法根据显示报告时的条件更改e.Row.BackColor
(3种不同的颜色取决于结果)。对于不符合该条件的行,单击“编辑”按钮时将应用GridView的属性<EditRowStyle BackColor="#999999" />
。
但是,我似乎无法找到一种方法来改变那些符合标准的颜色,因为RowDataBound似乎一直被调用,覆盖了我所做的任何更改。
有什么建议吗?
答案 0 :(得分:13)
在Grid RowEditing事件中写一行:
GridView1.EditRowStyle.BackColor = System.Drawing.Color.LightYellow;
答案 1 :(得分:1)
希望这会有所帮助。配置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;
}
}
答案 2 :(得分:1)
尝试:
<asp:GridView runat="server" >
<Columns>
</Columns>
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#999999" />
</asp:GridView>
答案 3 :(得分:0)
为什么不编写自己的逻辑方法来改变行的颜色?,循环遍历行,这可以避免回发问题......也许!
答案 4 :(得分:0)
正如@Rami所说,创建一个循环DataGrid行并更改颜色的方法。在PreRender事件处理程序中调用此方法。这样每次回发都会调用此方法。