我在DataGridView中,要实现动态过滤
显示内容如下:
ID    Name
1     aba
2     abb
3     abc
4     abd
第一次过滤:datagridview.CurrentDataTable.DefaultView.RowFilter = "Name <>'abc'";
显示结果如下:
ID    Name
1     aba
2     abb
4     abd
第二次过滤:datagridview.CurrentDataTable.DefaultView.RowFilter = "Name like '%d%' AND Name <>'abc'";显示内容如下:
ID    Name
1     abd
..
..
..Datagridview会显示4行,其中3行是空白,如上用".."表示
不知道为什么

解决方案 »

  1.   

    清空后再绑定
    dataGridView1.DataSource=null
      

  2.   

    this.dataGridView.DataSource = null;
    this.dataGridView.DataSource = dt;
      

  3.   

    假设过滤前,焦点在第5行,过滤完后,有2条数据
    datagridview会自动加上三条在过滤前把焦点转移到第一行,就不会出现这个问题了
    加上下面这句话就OK了
    datagridview.currentCell = datagridview.Rows[0].Cells[0];