多线程更新已排序的Datagridview数据,造成数据错位
多线程更新已排序的Datagridview数据,触发Datagridview的auto-sort时间,数据重新排序,造成后面更新数据的更新错误。
解决方法:
方法一、设置Datagridview的表头属性,DataGridViewColumnSortMode
1. 如果已经有默认的排序表头DataGridView.SortedColumn,
则 :
DataGridViewColumn column = dgv.SortedColumn; //默认的排序列 column.SortMode = DataGridViewColumnSortMode.NotSortable; //设置排序列为不排序
2.如果没有默认的排序表头,需遍历Datagridview设置表头属性
for(int i=0;i<dgv.Colums.cout;i++){ //具体属性忘了,就是获取每个表头对象(column) column.SortMode = DataGridViewColumnSortMode.NotSortable; }
3.运行结束后,再排序:设置属性为原有属性。
方法二、将某个列进行一一对应,每次都要查找。坏处:数据量大时匹配速度慢;好处,可以实时auto-sort排序观看。
牧羊童Gamir——随遇而安,保持一颗愉快之心!