我对筛选过的datagridview 内容进行二次,三次,··多才筛选。DataView dv = new DataView(yiqiDataSet.db_zonghe);
dv.RowFilter = string.Format("zhzubie like '%{0}%'", txt_chaxun.Text);
this.dataGridView1.DataSource = dv;yiqiDataSet.db_zonghe是第一次筛选的结果,这次筛选为数据库筛选,也就是在dataset中的筛选,结果存入了yiqiDataSet.db_zonghe中。第二次筛选为上面的筛选语句。是对yiqiDataSet.db_zonghe的视图dataview进行筛选。但是,结果输出到datagridview中去。然后再进行第三次 ,第四次··筛选的时候,都是对第一次筛选结果的视图进行筛选。并没有根据前一次的结果进行筛选。我觉得,可能有一种方法获取,当前datagirdvview的视图dataview。这样 第二次 第三次····筛选直接对前一次的视图进行筛选就行了。但是我不知道方法。下面两种方法我已经否决了,希望大家给点帮助。最好是给出代码。谢谢谢谢。方法一:对datagridview的内容提取出来重新输入新定义的内存的表里面,每次筛选对此表进行筛选。这个方法不可行,因为这样会影响我对datagridview单元格修改时与数据库的同步关系。
方法二:强制转换类型,比如:
DataTable dt2 = this.dataGridView1.DataSource as DataTable;或
DataView dv = this.dataGridView1.DataSource as DataView;或
DataView dv = (dataGridView1.DataSource as BindingSource).Current as DataView;每次断点的时候 dt2,dv dv的值 都是空的,但是 this.dataGridView1.DataSource的值却是非空的···我问了很久了,没人回答,我是菜鸟,可能有些问题大家说对了,我没理解了。就只有60分,全拿出来。希望大家多多关照。。静候答案··
了。
dv.RowFilter = string.Format("zhzubie like '%{0}%'", txt_chaxun.Text);
this.dataGridView1.DataSource = dv;yiqiDataSet.db_zonghe是第一次筛选的结果,这次筛选为数据库筛选,也就是在dataset中的筛选,结果存入了yiqiDataSet.db_zonghe中。第二次筛选为上面的筛选语句。是对yiqiDataSet.db_zonghe的视图dataview进行筛选。但是,结果输出到datagridview中去。然后再进行第三次 ,第四次··筛选的时候,都是对第一次筛选结果的视图进行筛选。并没有根据前一次的结果进行筛选。我觉得,可能有一种方法获取,当前datagirdvview的视图dataview。这样 第二次 第三次····筛选直接对前一次的视图进行筛选就行了。但是我不知道方法。下面两种方法我已经否决了,希望大家给点帮助。最好是给出代码。谢谢谢谢。方法一:对datagridview的内容提取出来重新输入新定义的内存的表里面,每次筛选对此表进行筛选。这个方法不可行,因为这样会影响我对datagridview单元格修改时与数据库的同步关系。
方法二:强制转换类型,比如:
DataTable dt2 = this.dataGridView1.DataSource as DataTable;或
DataView dv = this.dataGridView1.DataSource as DataView;或
DataView dv = (dataGridView1.DataSource as BindingSource).Current as DataView;每次断点的时候 dt2,dv dv的值 都是空的,但是 this.dataGridView1.DataSource的值却是非空的···我问了很久了,没人回答,我是菜鸟,可能有些问题大家说对了,我没理解了。就只有60分,全拿出来。希望大家多多关照。。静候答案··
了。
解决方案 »
- 关于委托的问题
- ComboBox用来完成自动完成的下拉框是什么
- mediaservice 发布 rm格式流媒体文件的问题!!!
- 线程结束后不能返回值,我们如何在线程结束后执行ui线程上的方法啊
- c# Com+问题,高手指点!!
- 关于Selenium RC 脚本问题
- 用OleDbCommand如何执行一个带参数的存储过程?
- help(关于反射的问题)
- 为什么TreeView1_SelectedIndexChange()事件不执行????
- C#中如何提取网络上共享的文件夹
- C# winform 输入完了后 textbox控件 触发什么事件比较好???
- 在VS2008安装部署时,系统必备项中选择了SQL Server Express,怎样修改SQL Server Express的安装参数?
DataTable table = (DataTable)dataGridView1.DataSource;
table.DefaultView.RowFilter += 其他条件;
dataGridView1.DataSource = table;
方法二:
定义局部变量记录过滤条件
private string rowFilter = string.Empty;每次修改过滤条件
rowFilter += 新过滤条件重新设置数据源
DataView dv = new DataView(yiqiDataSet.db_zonghe);
dv.RowFilter = rowFilter;
this.dataGridView1.DataSource = dv;
DataTable table = (DataTable)dataGridView1.DataSource; 提示:无法将类型为“System.Windows.Forms.BindingSource”的对象强制转换为类型“System.Data.DataTable”。
强制转换 不行啊。我的是2.0平台