winform中的datagirdview右边下拉条刷新后的问题 由于datagridview里边的数据是每秒中都在实时的刷新.那么当我去往下拖动右边的条的时候,他就会去因为刷新而又蹦到上边去了。也就是说根本就找不到下面未显示出来的数据,然后我还要对下边的数据进行操作的.特烦.希望各位能帮帮我怎么去解决这个问题,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是由于你的数据是直接绑定或者直接赋值到DataGridView中的,而不是自绘的,应此会有一个焦点的问题。解决方法1.将DataGridView对象设置为只读的,然后自己绘制要添加的数据,也就是一个Cell一个Cell的绘制。2.使用DataGridView中的方法控制显示样式。如FirstDisplayedCell ,FirstDisplayedScrollingColumnHiddenWidth、FirstDisplayedScrollingColumnIndex 、FirstDisplayedScrollingRowIndex 等等的方法自己控制吧。建议你用第一种,将数据放在后台的buffer中(你可以用Datatable),然后在paint方法中自己绘制。这样就没有你说的问题了。而且可塑性强。 通过设置FirstDisplayedScrollingRowIndex属性即可实现,如:int currentIndex = dataGridView1.FirstDisplayedScrollingRowIndex;dataGridView1.DataSource = dt;dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex; 加panel应该不行吧,始终刷新的是datagridview,只是最外层加了一个容器而已也. 我给你的代码,你是加在哪里.应加在刷新DataGridView的地方!加一个判断:if(dataGridView1.Rows.Count>currentIndex){dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex;} 如果是綁定datatable,FirstDisplayedScrollingRowIndex 可以設置显示在 DataGridView 上的第一行的數據,不能去拖動滾動條 我現在想做類似sql2005查詢分析器的效果如果數據糧很大,分批取出來,然後馬上顯示在表格上 是这样的.我开了一个线程.这个线程每秒都去执行那个方法,而那个方法就是去查询数据库然后绑定datagridview.我把你给的那段就加在了帮定那儿.出现那个错误.现在加了这个判断仍然出现的是: 指定的参数超出有效值的范围.赐教... dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex; 这一句 5 楼正解,只是需要大家做一些异常判定。例如:1.刚开始选择的index,重新绑定后是否还存在2.刚开始选择的index,重新绑定并排序后,是否还存在等等。 5 楼正解,只是需要大家做一些异常判定。例如:1.刚开始选择的index,重新绑定后是否还存在2.刚开始选择的index,重新绑定并排序后,是否还存在等等。 奇怪问题,c#数组越界? WPF有关xaml中Grid.DataContext绑定为null,求解??? winform 连接Access数据库 谁能给段完整代码?附图片,有说明,谢谢 如何用C#实现ftp批量上传文件的功能?? 什么我的VS2005现在运行的时候 屏幕中有个 “\” 菜鸟的问题--如何生成EXE文件 如何判断DateGridView 里的数据已经被修改了??? 用c#做的windows程序,如何画线和矩形? 请问哪里有水晶报表9.2的引擎下载? DataGrid中为什么删除要点击两次? 求助:c#与vb.net语法转换 这种情况该怎么办?
解决方法
1.将DataGridView对象设置为只读的,然后自己绘制要添加的数据,也就是一个Cell一个Cell的绘制。
2.使用DataGridView中的方法控制显示样式。如FirstDisplayedCell ,FirstDisplayedScrollingColumnHiddenWidth、FirstDisplayedScrollingColumnIndex 、FirstDisplayedScrollingRowIndex 等等的方法自己控制吧。
建议你用第一种,将数据放在后台的buffer中(你可以用Datatable),然后在paint方法中自己绘制。这样就没有你说的问题了。而且可塑性强。
if(dataGridView1.Rows.Count>currentIndex){
dataGridView1.FirstDisplayedScrollingRowIndex = currentIndex;
}
不能去拖動滾動條
如果數據糧很大,分批取出來,然後馬上顯示在表格上
是这样的.我开了一个线程.这个线程每秒都去执行那个方法,而那个方法就是去查询数据库然后绑定datagridview.
我把你给的那段就加在了帮定那儿.出现那个错误.现在加了这个判断仍然出现的是: 指定的参数超出有效值的范围.赐教...
这一句
1.刚开始选择的index,重新绑定后是否还存在
2.刚开始选择的index,重新绑定并排序后,是否还存在
等等。
1.刚开始选择的index,重新绑定后是否还存在
2.刚开始选择的index,重新绑定并排序后,是否还存在
等等。