日期:2014-05-20  浏览次数:21157 次

对于DataGridView设置单元格背景色后,点表头自动排序后刷新很慢的问题,求解

如题......

各位大哥,我在程序中用到了DataGridView控件来显示数据,

然后根据里面数据的类别,将DataGridView每行重新设置背景色,

是通过逐行设置的方式设置背景色的,

但是再点击列标题让DataGridView自动排序后,以前设置的背景色消失了,

后来我在DataGridView的RowPaint相关事件中又重新逐行设置了背景色,让他能够在表格刷新后页能够再次设置背景色,

但是我发现刷新的很慢,感觉一闪一闪的,很明显,这个该如何解决呢??

有没有别的方式设置背景色的??能够批量的一次性设置若干行的数据的背景色??

===========================

同时有没有别的方法,能够重载列标题的排序事件,能够点击列标题的时候,不会取消掉设置好的背景色,而且能实现排序??

===========================

还有啊,我每次显示数据的时候,数据量大的能达到3000行的数据,数据量相对也比较大

各位,有没有别的好方法??

能够让速度快点。


------解决方案--------------------
直接用Javascript在页面处理算了
------解决方案--------------------
给你介绍一个高级群,群主是winform高手 173844862
------解决方案--------------------
private void dataGridViewX1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{
if (i % 2 == 0)
{
dataGridViewX1.Rows[i].DefaultCellStyle.BackColor = Color.Gainsboro;
}
else
{
dataGridViewX1.Rows[i].DefaultCellStyle.BackColor = Color.PowderBlue;
}

}