如何让c#winform 根据datagridview数据筛选 filter

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让c#winform 根据datagridview数据筛选 filter相关的知识,希望对你有一定的参考价值。

微软自带的datagridview并没有filter功能,要么换个第三方控件,要么自己重新封装,自己实现。 参考技术A 1、筛选某个字段满足指定条件的记录
DataView dv = myDs.Tables[0].DefaultView;
dv.RowFilter = "Year=1427";
gv.DataSource = dv;
Year这个是myDs.Tables[0]的一个字段。这样就是只有Year的值等于1427的记录绑定gv控件。
2、用RowFilter对指定列进行模糊匹配
我们都知道sql语句里面有like '%x%' 这样的表达式可以对列进行模糊查询。其实DataView的RowFilter也可以的代码:
dv.RowFilter="Name like '%lanhusoft%'";
这样dv只显示Name字段包含lanhusoft的数据行。
3、多个条件筛选行
RowFilter还可以有多个条件,比如:
dv.RowFilter="Name like '%lanhusoft%' and Year=1427","and"将两个条件结合起来了,表示只返回两个条件要同时满足的
的行记录。

winform c# Datagridview 选中行 急!!!

int rows = dataGridView1.indexrows;//获得选种行的索引
string str = dataGridView1.rows[rows].cells[num].text;//获取第rows行的索引为num列的值

我写的这样可以获取选种的行,列的值!

问题是indexrow这个属性居然没有...但是有 selectedrows 选中行的集合

我现在要做的是选种用户选中的列...

各位朋友有没有什么方法?给点代码参考!
谢谢各位!我自己已经解决了!
不过有遗憾的是
int rows = dataGridView1.indexrows;//获得选种行的索引

这里的indexrows属性怎么没有呢?
winform c#!

this.dataGridView1.SelectedCells 是选中的cells集合,如果你设置为只能单选,则只需要this.dataGridView1.SelectedCells[0]就可以了。
this.dataGridView1.SelectedCells.rowindex 与 ColumnIndex 为当前选中的行于列序号。

注,使用时需要先判断this.dataGridView1.SelectedCells.count,不为0 在进行上面的操作。
参考技术A dgv_CaiGouFuKuan.CurrentRow.Cells[num].Value.ToString()
这样就是得到当前选中行的第几列的值
参考技术B http://heisetoufa.javaeye.com/blog/search?query=Datagridview+ 参考技术C dataGridView1.selectedrows[0].cells[num].text 就可以了

以上是关于如何让c#winform 根据datagridview数据筛选 filter的主要内容,如果未能解决你的问题,请参考以下文章

winform c# Datagridview 选中行 急!!!

C#WInform 如何让菜单栏中只能有一个菜单项被选中,其他的不选中,当选择中其他的时,选中的为选中状态!

c# winform 如何让窗体能根据显示器大小自动调节大小呢?

c#DataGridVie垂直滚动条为啥不能拖动了?

winform中如何在点击datagridview的时候不让窗体的滚动条自动滚动

C#winform中在一个主窗体中打开几个子集窗口,如何让子集窗口在主窗体中平均分布