繁体   English   中英

编辑时更改Gridview行背景颜色?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM