.net DataGrid1 列问题

来源:百度知道 编辑:UC知道 时间:2024/09/25 22:29:10
在C#.net 中,如果读出的数据是0,对应列中就显示“否”如果是其它,对应列中就显示“是”字并为红色,这个怎么写??

在DataGrid的DataRow绑定事件中判断下对应的列,如果是0就给他否,否则给是就行了

如果是winform,应当在读取数据时着手
比如你用的是SQL SERVER
则可以编辑SQL语句 用Case..when...关键字

这样的问题就不能在DataGrid上动脑筋了,除非你去override这个控件.只能在数据源上动手脚.
首先, 你的DataGrid控件不是要有个数据源吗.这个数据源应该是由SQL 语句查询后的结果集吧. 可以在查询的时候加上判断. select filed = case xx when 0 then '否' else '是' end.
如果读数是'是'的字段红色显示:
可以单独写一个方法遍历所有行,逐行修正颜色.
public void SetColor()
{
foreach(DataGridItem IT in Control_ID.Items)
{
if(Convert.ToInt32(IT.Cell[2].Text) > 0)
IT.Cell[2].ForeColor = System.Drawing.Color.Red;
}
}
缺点是这会二次遍历你的整个DataGrid 如果这个控件上的数据很多, 这些会很慢.