在使用C#进行界面设计的过程当中,用到了datagridview控件,该控件其实很灵活,对于图表形式的
数据库
显示很是实用有效。c#
数据源比较灵活,通常其能够和databinding控件一块儿使用。数据源但是从数据库中得到数据,或从ArrayList中取得,也能够经过excel等文档的形式取得。ide
显示的样式不少,有不少能够选择调整的属性。例如行头是否显示,表列名如何显示等。设计
行为动做不少,能够触发的事件不少。excel
上面这些在控件上点击右键属性都是能够看见的,不过多进行叙述。事件
这里想说一个遇到的挺有意思的问题。ci
在进行表格显示的时候我想把某些行的颜色进行改变,因此在datagridview进行数据绑定以后使用了以下语句:文档
datagridview1.Rows[i].DefaultCellStyle.BackColor = System.Drawing.Color.Gray;
意图是想把某一行设为灰色,可是显示出来的时候并无生效,试了一下it
datagridview1.DefaultCellStyle.BackColor = System.Drawing.Color.Gray;
把整个grid都设置为灰色了,发现这样是能够生效的。class
为何在初始化datagridview控件的数据源以后让某行变色不行呢,我猜测了一下多是因为初始化完数据,设定完显示样式以后,显示形式又被自动刷了一次。
实现了一下cellclick事件,处理动做就是让点击的那行变色,发现单行变色是好使的,能够执行的。
目前为何在初始化的时候很差用尚未搞清楚,个人作法是响应DataBindingComplete事件,在数据绑定完以后再进行表格样式的设定,结果达到了预期效果,可是这只是一个临时的替代方案,不是根本的缘由,找到为何不能在初始化时设置格式才是根本。