datatable筛选条件_C#利用DataView的RowFilter对DataTable进行查询筛选

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"将两个条件结合起来了,表示只返回两个条件要同时满足的

的行记录。

总结:DataView的RowFilter是一个字符串,相当于sql语句的where语句。可以有下面的比较符号:

<

>

<=

>=

<>

=

IN

LIKE

在c/s程序winform的开发过程中,会经常的用到DataGridView这个数据展示控件,我用DataView来绑定DataGridView,是屡试不爽。因为我可以只需要读取一次数据库,利用的DataView的RowFilter可以对查询的DataTable记录,根据选择的条件动态的拼接条件,进行多次筛选。如果不需要筛选,要显示全部数据,只需要将RowFilter赋值成空字符串就可以了。这样相当于加了缓存,只在内存中读,不用每次筛选都从数据库读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值