Как изменить цвет фона условно по значениям строк - PullRequest
0 голосов
/ 15 апреля 2011

Я разрабатываю отчет, который выводит данные в таблицу SQL через страницу ASPX, используя VB. Как мне кодировать это так, чтобы все строки, содержащие «1» для одного из столбцов, отображались красным цветом? Вот что у меня так далеко. Это не вызывает никаких ошибок, но также не отображается красным.

Я не знаю, является ли это проблемой, но переменные ExceedsLimit и SixInARow являются 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> 

1 Ответ

1 голос
/ 15 апреля 2011

Вам нужно установить цвет фона для Item.Style

Попробуйте это:

If ExceedsLimit = "1" Or SixInARow = "1" Then                 
  e.Item.BackColor = System.Drawing.Color.Red                 
End If 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...