【发布时间】:2013-04-07 22:44:35
【问题描述】:
我有一个 ASP:DataGrid,我在其中显示记录。记录从 SQL Server 2008 R2 数据库中提取到 SqlAdapter,其中用于填充 DataSet,并且绑定到 @ 987654324@
ASP:DataGrid 可以跨越多个页面,每页限制为 20 条记录。
其中一列是要处理条目的剩余天数的值。我想突出显示任何值为 0 - 1 的红色和任何值为 2 - 5 的预言。我尝试过的方法是对ASP:DataGrid的OnItemDataBound字段设置函数调用
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
Select Case CType(e.Item.Cells(5).Text, Integer)
Case 0 To 1
e.Item.BackColor = Drawing.Color.Red
Case 2 To 5
e.Item.BackColor = Drawing.Color.Orange
End Select
End If
End Sub
这在页面首次加载时完美运行。如果有超过一页的记录并且您尝试移至下一页,则根本不会加载任何记录,实际上ASP:DataGrid 根本不会显示。如果我删除OnItemDataBound,那么ASP:DataGrid 会再次正常运行(尽管没有突出显示)。
【问题讨论】:
标签: asp.net html vb.net datagrid