日期:2014-05-19  浏览次数:20942 次

DataGrid按条件用不同颜色区分显示
我想把daitagrid里面显示的数据按某个字段用颜色区分   ,例如里面有一个到期时间字段,大于当前时间的用一种颜色显示   小于当前时间的用另一种颜色显示,怎么实现

------解决方案--------------------
VB语法
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex > -1 Then
'**********下面根据判断突出显示颜色*****************************
If Trim(e.Item.Cells(13).Text) = "N " Then '文件中心未确认
e.Item.BackColor = Color.LightGreen
'e.Item.ForeColor = Color.White
End If

If Trim(e.Item.Cells(14).Text) = 0 Then '已经没有流程需要处理
e.Item.BackColor = Color.Orange
End If

If Trim(e.Item.Cells(15).Text) = "Y " Then '审批人要求退回
e.Item.BackColor = Color.Gray
End If
End If
End Sub
------解决方案--------------------
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataRowView row;
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
row = (DataRowView)e.Item.DataItem;
if (Convert.ToDateTime(row[ "时间 "]) > DateTime.Now)
e.Item.BackColor = Color.White;
else if (Convert.ToInt32(row[ "status "]) > 0)
e.Item.BackColor = Color.Red;
}
}

------解决方案--------------------
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataRowView row;
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
row = (DataRowView)e.Item.DataItem;
if (Convert.ToDateTime(row[ "时间 "]) > DateTime.Now)
e.Item.BackColor = Color.White;
else
e.Item.BackColor = Color.Red;
}
}