在页面回发期间设置GridView Row的背景颜色

时间:2013-05-14 04:30:24

标签: asp.net gridview

我有一个几行的网格。在满足某种条件时,我需要改变满足该条件的行的背景颜色。我在网格的rowdatabound事件中执行此操作,但在页面回发期间它会丢失颜色。我该如何解决这个问题? 我的代码是这样的。

If (e.Row.RowType = DataControlRowType.DataRow) Then
    Dim lblShowBreak As System.Web.UI.WebControls.Label = e.row.FindControl("lblShowBreak")
    Dim lblIsBreak As System.Web.UI.WebControls.Label = e.row.FindControl("lblIsBreak")

    If Trim(lblIsBreak.Text) = "Y" Then
       e.Row.BackColor = System.Drawing.Color.Black
    End If
End If

3 个答案:

答案 0 :(得分:0)

我想,你每次都可以在OnPreRender方法中标记e.Row.BackColor = System.Drawing.Color.Black。在这种情况下,状态将始终保存。

答案 1 :(得分:0)

您必须使用RowDataBound的{​​{1}}事件

Grid View

你必须使用类似的东西。

希望你理解并为你工作。

答案 2 :(得分:0)

我已经解决了这个问题。我的修复方法如下。

If Trim(lblIsBreak.Text) = "Y" Then
   lblShowBreak.Visible = True
   For i = 0 To gvTimeTable.Columns.Count - 1
       e.Row.Cells(i).BackColor = System.Drawing.Color.LightGray
   Next
End If