Изменение цвета фона строки Gridview при редактировании? - PullRequest
4 голосов
/ 22 октября 2010

У меня возникли проблемы с редактированием цвета фона строки сетки при редактировании.

Дело в том, что я использую метод события RowDataBound, чтобы изменить e.Row.BackColor на основе критериев при отображении отчета (3 разных цвета в зависимости от результата). Для строк, которые не подпадают под этот критерий, свойство GridView <EditRowStyle BackColor="#999999" /> применяется после нажатия кнопки Изменить.

Однако я не могу найти способ изменить цвет тех, которые подпадают под критерии, так как RowDataBound, кажется, вызывается все время, отменяя любые изменения, которые я делаю.

Есть предложения?

Ответы [ 5 ]

13 голосов
/ 18 мая 2011

написать одну строку в Grid RowEditing Event:

GridView1.EditRowStyle.BackColor = System.Drawing.Color.LightYellow; 
1 голос
/ 18 мая 2011

Попробуйте:

<asp:GridView runat="server" >
    <Columns>
    </Columns>

    <EditRowStyle BackColor="#999999" />    
    <SelectedRowStyle BackColor="#999999" /> 
</asp:GridView>
1 голос
/ 22 октября 2010

Надеюсь, это поможет. Настроить редактирование строк 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;
    }
}
0 голосов
/ 22 октября 2010

Как сказал @Rami, создайте метод, который перебирает строки DataGrid и меняет цвет. Вызовите этот метод в обработчике событий PreRender. Таким образом, вы вызываете этот метод один раз при каждой обратной передаче.

0 голосов
/ 22 октября 2010

Почему бы не написать свой собственный логический метод для изменения цвета строк назад? Зацикливаться на строках, этого вы можете избежать проблемы обратной передачи ... возможно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...