0
我正在開發一個報表,它使用VB通過ASPX頁面在SQL表中輸出數據。我如何編碼,以便其中一列包含「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>
謝謝!我剛剛嘗試了上面的代碼,但仍然沒有任何行顯示爲紅色。你還有其他建議嗎? – salvationishere 2011-04-14 21:20:34
我只能想到的其他事情是在比較之前修剪ExceedsLimit和SixInaRow。 – Chandu 2011-04-14 21:24:35
謝謝,但這也沒有奏效。謝謝你嘗試! – salvationishere 2011-04-14 21:45:51