如何根据行值有条件地更改背景颜色

| 我正在开发一个报告,该报告使用VB通过ASPX页在SQL表中输出数据。我该如何编码,以便其中一列的所有包含\“ 1 \”的行都显示为红色?到目前为止,这就是我所拥有的。这不会引起任何错误,但也不会显示为红色。 我不知道这是否有问题,但是ExceedsLimit和SixInARowow变量在我存储的proc中是INT,但是随后在下面的代码中将它们声明为字符串。
    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs)
        If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
            Dim ExceedsLimit As String
            Dim SixInARow As String
            Dim i As Int16

            SixInARow = e.Item.Cells(6).Text
            ExceedsLimit = e.Item.Cells(7).Text

            If ExceedsLimit = \"1\" Or SixInARow = \"1\" Then
                For i = 0 To 6
                    e.Item.Cells(i).BackColor = System.Drawing.Color.Red
                Next
            End If

        End If
    End Sub
和HTML部分:
            <ASP:DATAGRID id=\"dgTable\" runat=\"server\" AUTOGENERATECOLUMNS=\"true\" ShowHeader=\"true\" OnItemDataBound=\"DataGrid1_ItemDataBound\" >
                <AlternatingItemStyle BackColor = \"#eeeeee\" />
                <HEADERSTYLE BackColor = \"#336699\" ForeColor = \"#ffffff\" Font-Bold = \"true\" />
            </ASP:DATAGRID> 
    
已邀请:
您需要将背景颜色设置为Item.Style 尝试这个:
If ExceedsLimit = \"1\" Or SixInARow = \"1\" Then                 
  e.Item.BackColor = System.Drawing.Color.Red                 
End If 
    

要回复问题请先登录注册