日期:2014-05-18  浏览次数:20791 次

今天又遇到了一个关于datagridview数据过滤的问题
小弟今天突然发现,自己做得程序,用datagridview显示出来的数据居然不完整,于是马上打开数据库看下是不是丢失了,还好,数据库的还在,但是奇怪的是为什么有些数据会不显示在datagridview呢,我上网查了下,很有可能是数据被过滤掉了,而且是自动过滤了,说自动过滤,是我个人见解,因为有的代码我不太懂,可能编辑错误导致的,下面是主要代码:

  public BindingSource myBindingSource = new BindingSource();//定义
  public DataTable dt0; //定义datable
  this.dgv_KaoShengXinXi.AutoGenerateColumns = false; //取消自动增行
  dt0 = BLL.KaoShengXinXi.selectKaoShengXinXi(); //这句代码已经查询到数据返回datatable了
  //myBindingSource.Filter = null;//设置分类筛选过滤为空,注意这句话我已经改成注释
  myBindingSource.DataSource = dt0; //绑定数据源
  this.dgv_KaoShengXinXi.DataSource = myBindingSource; //绑定数据源到datagridview

主要代码就这些,第五行代码已注释化,但还是过滤了某些数据,至于过滤条件是什么,我更加不知道,求大神指导解释···

------解决方案--------------------
先说说你是什么数据没了?
------解决方案--------------------
MSDN

当数据源更改时,Filter 属性的值将保持不变。若要停止筛选 DataSource,请调用 RemoveFilter 方法。
你看看是不是这个原因