比如一张表中有一个字段bj_color,我想让bj_color为1的数据行为红色,bj_color为2的数据行为蓝色,bj_color为3的数据行为绿色,那该怎么做呢?
我开始时的想法是,将所有的列都作为模板列,倒是可以解决,但实在是太复杂。
后来高手指点:
在DataGrid的ItemDataBound事件里面判断
以下是VB.NET的
Sub Datagrid1_ItemDataBound(source As Object, e As DataGridItemEventArgs)
If (e.Item.ItemType = ListItemType.Item Or _
e.Item.ItemType = ListItemType.AlternatingItem) Then
If Convert.ToDateTime(e.Item.Cells(1).Text) < DateTime.Today Then _
e.Item.Cells(1).BackColor = System.Drawing.Color.FromName("#ffccff")
If e.Item.DataItem("UserID") = 590 Then _
e.Item.Cells(2).BackColor = System.Drawing.Color.DeepPink
End If
End Sub
再查一下MSDN,世界清静了...