我现在就是从数据库里读出所有的记录在datagrid里显示列表.
我有个字段为jcdate
我现在要jcdate>30所在的行显示蓝色 jcdate>60所在的行显示绿色 jcdate>90所在的行显示红色.
请问这个该怎么做。
在datagrid的itemdatabound事件里面写代码来判断咯
if (Convert.toint32(e.item.cells[jcdate列序数].text)>30)
{
变色1
}
……………………
在后台代码里判断,操作样式属性,应该可以
假设你的datasource是datatable类型:
Protected Overridable Sub ItemDataBound(ByVal e As DataGridItemEventArgs) handler ....
dim DS as datatable=thisDatagrid.DataSource
dim DR as datarow=ds.item(e.item.datasetindex)
select case dr.item("jcdate")
case is>90
e.item.backcolor=color.red
case is>60
e.item.backcolor=color.green
case is>30
e.item.backcolor=color.blue
end select
end sub
End Sub
在ItemDataBind的里面去处理,判断条件,给行设置风格。
private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
{
if((int)e.Item.Cells[10].Text > 30)
{
e.Item.BackColor = System.Drawing.Color.Beige;
}
}
试试