玉祥平台客服-15087858732

标题: 自制树型部件的筛选功能【顶】 [打印本页]

作者: 刘亚东    时间: 2020-4-6 12:04
标题: 自制树型部件的筛选功能【顶】
平台中树型部件么有筛选功能,这个非常不方便,所以我带给大家一个利用树型部件DataTable来做一个筛选的功能,下面直接上图:
1、定义一个公共变量存储树型部件刷新数据后的DataTable,如下图:

2、在刷新树型部件的时候,记得重新给公共变量复制。

3、下图中就是在自己添加的筛选按钮中添加的代码,有注释,大家可以看一下,基本思想就是利用DataTable的Select方法来实现(不知道怎么用可以百度),这个是本地化的操作,速度不受网络影响,因为树型部件是有层级关系的,所以我这里是只筛选第一层,第二层没筛选,当然根据实际情况可以稍作改动:

4、实现效果:

5、没有5了,完事。。。。。


作者: 陈晓龙    时间: 2020-4-6 15:17
加个查询,确实方便好多!
作者: 万望    时间: 2020-4-6 16:05
有点霸道,实用
作者: 张兴康    时间: 2020-4-7 11:29
不错,很好,有这个功能以后树形部件用起来就更方便了
作者: 刘亚东    时间: 2020-4-7 18:40
上面的筛选代码中在dim yyrows  下面要用yyrows.Length判断一下是不是没查询到,没查询到就end,并清空列DataTable,不然要报错。
作者: 刘亚东    时间: 2020-4-7 18:41
用啦,不懂的发问哦
作者: 王爱东    时间: 2020-4-7 22:11
平台中很多树型的地方最好也加上过滤的。不然很不方便。
作者: 刘亚东    时间: 2020-4-7 23:48
王爱东 发表于 2015-11-7 22:11
平台中很多树型的地方最好也加上过滤的。不然很不方便。

对滴,对滴,一般出现滚动条了,那么就都应该加了
作者: 万望    时间: 2020-4-8 11:38
不想摆了,根据lZ的思路我大胆的尝试了一次,应用性强
作者: 万望    时间: 2020-4-8 11:39

作者: 张军勇    时间: 2020-4-9 09:54
用视图进行树型部件过滤,不必改变DataTable即可显示不同的效果,同网格部件一样。
树型部件1.DataTable.DefaultView.RowFilter="科室名称 like '%长春%' and UPPER_ID='0'"
作者: 张军勇    时间: 2020-4-9 09:58
如果只过滤第一层,那么第二层在没有上级的情况下,会自动显示为第一层,如何解决这个问题呢?
作者: 陈晓龙    时间: 2020-4-9 10:04
万望 发表于 2015-11-8 11:38
不想摆了,根据lZ的思路我大胆的尝试了一次,应用性强

胆够大的哦!
作者: 刘亚东    时间: 2020-4-9 11:34
张军勇 发表于 2015-11-9 09:58
如果只过滤第一层,那么第二层在没有上级的情况下,会自动显示为第一层,如何解决这个问题呢?

所以是分的两步,先过滤第一次,在根据第一层过滤的结果查找第一层的下级。再把2次过滤的结果组合起来。
作者: 刘亚东    时间: 2020-4-9 11:36
怪不得,树型部件没有像网格部件一样有个内置的查找功能,因为树型部件根据实际业务可能需要筛选的层级是不一样的。
作者: 刘亚东    时间: 2020-4-9 11:36
怪不得,树型部件没有像网格部件一样有个内置的查找功能,因为树型部件根据实际业务可能需要筛选的层级是不一样的。
作者: 张军勇    时间: 2020-4-10 08:56
刘亚东 发表于 2015-11-9 11:36
怪不得,树型部件没有像网格部件一样有个内置的查找功能,因为树型部件根据实际业务可能需要筛选的层级是不 ...

树型部件筛选功能难点主要是在于确定上级或下级的显示问题。如果仅仅是通过普通数据过滤,然后给树型显示,会把本身的树型结构打乱,并没有达到预期效果哟。
特别明显的就是上级没有了,下级会自动显示为上级。
作者: 张军勇    时间: 2020-4-10 08:59
没有上级处理的情况下,过滤后树型部件会显示得比较混乱,关键技术也在于此,楼主可以深入再继续研究一下,看看如何过滤数据的时候,把有数据的上级显示出来。
作者: 刘亚东    时间: 2020-4-27 17:43
记不到代码,刚刚又来看了一下,哈哈
作者: 万望    时间: 2020-5-12 23:29
这个在我现在的项目中正要使用,O(∩_∩)O谢谢思路
作者: 万望    时间: 2020-5-12 23:30

作者: 万望    时间: 2020-5-13 19:33
牛牛牛
作者: 万望    时间: 2020-5-21 21:47
树形部件用着还是不错的
作者: 万望    时间: 2020-6-21 14:07
万望 发表于 2015-11-8 11:38
不想摆了,根据lZ的思路我大胆的尝试了一次,应用性强

O(∩_∩)O哈哈~
作者: 万望    时间: 2020-6-21 15:40
这个只能针对2层,层数不确定,请问又该怎么写呢?
作者: 万望    时间: 2020-6-21 15:50
“坐等”高手出现




欢迎光临 玉祥平台客服-15087858732 (http://bbs.delit.cn/) Powered by Discuz! X3.2