多线程更新已排序的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排序观看。

 

posted @ 2014-06-20 23:38  牧羊童Gamir  阅读(787)  评论(0编辑  收藏  举报