日期:2014-05-18  浏览次数:21084 次

Winform DataGridView控件显示数据慢的问题
我的数据库中有数据大概300条左右,我用DataSet 直接绑定DataGridView,在查所有数据的时候显示非常慢,慢到一行一行的显示出来,在拖动滚动条的时候很卡,求高手解决办法

------解决方案--------------------
不是慢 是有点闪烁吧 设置双缓冲

窗体加载方法中添加以下代码

 Type type = dataGridView1.GetType();
 System.Reflection.PropertyInfo pi = type.GetProperty("DoubleBuffered",
 System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
 pi.SetValue(dataGridView1, true, null);

如果嫌麻烦 你还可以自己写一个类 继承自DataGridView
在构造方法中 
SetStyle(ControlStyles.DoubleBuffered,true);
UpdateStyles();

------解决方案--------------------
遇到过类似问题,是模板的问题。列宽自动调整啊,列颜色啊,等等,把这些自动功能去掉,就会高速了。加载完后,再用代码加上这些样式。