如果对DataGridView中的数据列进行排序的话,当前显示的行和BindingSource.Position所指定的不同步,如何解决?
另,如何通过DataGridViewRow或者DataGridViewCell定位到数据表(BindingSource所代表的DataTable)中的相应行或字段?反之呢?

解决方案 »

  1.   

    我也正遇到这个问题。
    我的程序是排序后,如果再搜索就不一致了,目前我是这么解决的。
    不通过datatable来搜索,通过datagrid中的数据来搜索
    private void Search(string ID)
     {
       for (int i=0;i<ds.table.rows.count;i++)
        {
          if (ID == datagrid[i][0].ToString())
            {
              this.BindContext[ds,ds.table.tablename].Position = i;
              break;
            }
        }
     }这样排序后定位就一致了。
    不知道还有没有更好的办法,强烈关注中!