度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 8352|回复: 18
打印 上一主题 下一主题

[分享] 利用DataView的RowFilter实现网格数据动态过滤。

  [复制链接]

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
跳转到指定楼层
楼主
发表于 2020-3-13 23:37:26 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
首先请大家点开下图,看大图。


图中可以看出,我们实现了SQL方式去过滤网格部件的数据,为什么可以采用这种sql的方式来过滤数据呢?网格部件过滤功能不是不支持这种写法吗?
如果你有上面的疑问,那么表示你对网格部件还比较熟悉。接下来,我来讲讲这是为什么:
实际上,我们在窗体中,构建了一个文本输入框,一个搜索按钮和一个清空按钮,来模拟了网格部件的查找面板。结合DataView的RowFilter方法,可以实现SQL查询式的过滤数据(但仅限于本地DataTable中的数据)。
实际上,DataView的RowFilter具有很强的过滤功能,我们在平台网格部件中,只需要对其设置值即可,设置方法为:

  1. 网格部件1.DataTable.DefaultView.RowFilter="SQL条件"
复制代码

即可实现DataView的数据过滤。
我在上面窗体中,过滤按钮单击事件中写了以下代码:
  1. 通讯录网格.DataTable.DefaultView.RowFilter=过滤文本.Value
复制代码
即模拟出了网格部件的过滤效果,并且比网格部件的过滤功能更加强大,可以支持任意sql过滤条件,如 or 等。
DataView过滤还可以支持null等查询,如
  1. dataView1.RowFilter = " sex is null ";
复制代码

或者将null字段转换为值再对比:
  1. dataView1.RowFilter = " Isnull( sex, '空') = '空' ";
复制代码
      值得注意的是:DataView是DateTable相关联 的一个视图而已,无论你如何使用RowFilter,DataView虽然被改变,但 DateTable数据不会减少,所以你不要幻想连续使用多个RowFilter 来得到叠加过滤的效果,一个DataView只支持一个RowFilter,你只能使用 not ,and 来连接多个过滤条件。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
18#
发表于 2020-4-10 18:09:33 | 只看该作者
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
17#
发表于 2020-4-4 14:39:45 | 只看该作者
回复

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
16#
发表于 2020-3-19 21:55:03 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
15#
发表于 2020-3-19 21:48:53 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
14#
发表于 2020-3-19 21:46:23 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
13#
发表于 2020-3-19 21:44:54 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
12#
发表于 2020-3-16 15:16:22 | 只看该作者
datatable都是相基础的软件开发应用,
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9327

积分

论坛元老

Rank: 8Rank: 8

积分
9327
11#
发表于 2020-4-22 23:47:45 | 只看该作者
不懂点技术的还是不得行哟
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-24 11:32 , Processed in 0.131442 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表