Предотвращает ли наличие темы для GridView изменения свойства backcolor строки в RowDataBound - PullRequest
0 голосов
/ 15 декабря 2009

Я пытаюсь изменить backcolor .Net GridView, когда выполняется определенное условие. Это должно быть довольно просто, но изменение цвета не происходит. Проверка отображаемого HTML-кода показывает абсолютно ничего в затронутых строках, даже если изменение текста в ссылке происходит, как и ожидалось.

Для всех gridviews установлена ​​тема по умолчанию, с которой я раньше не работал. Это мешает мне динамически менять цвет строки или я что-то упускаю?

Я использую .Net 3.5 и имею в своем коде следующее:

Protected Sub gvPrevious_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvPrevious.RowDataBound
    If e.Row.RowType = DataControlRowType.DataRow Then
        If currentCorrespondence.IsRetired Then //custom object, returning as expected
            Dim link As LinkButton = DirectCast(e.Row.Controls(4).Controls(2), LinkButton) 
            link.Text = "Reinstate" //default is "retire" - GV renders this as expected
            e.Row.BackColor = Drawing.Color.IndianRed //might as well not be here 
        End If
    End If
End Sub

Из приведенного выше кода, когда я захожу в браузер и просматриваю исходный код, я ожидаю увидеть <tr style="background-color: #CD5C5C;"> для затронутых строк. Вместо этого я вижу <tr> и <tr class="AlternateRowStyle"> (при необходимости). Я не вижу абсолютно никакого эффекта от изменения свойства BackColor.

Я также пытался использовать e.Row.CssClass с тем же результатом.

1 Ответ

1 голос
/ 15 декабря 2009

попробуйте что-то вроде этого:

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    Select Case e.Row.RowState
        Case DataControlRowState.Normal
            CType(e.Row, GridViewRow).Style.Add("background", "#CD5C5C")
    End Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...