Office中国论坛/Access中国论坛

标题: 【Access小品】寄居蟹---偷藏筛选字符串示例 [打印本页]

作者: todaynew    时间: 2014-4-18 12:15
标题: 【Access小品】寄居蟹---偷藏筛选字符串示例
  今日在论坛看到一位版友问如何做五级TreeView的问题,这个问题本身很简单。在解答这个问题时,我想到了另外一个问题的处理。那就是如何简单的利用TreeView节点来筛选窗体数据。

  TreeView很多时候与子窗体联合使用,并以其节点的单击来对子窗体数据做出筛选。通常情况下,我们都愿意在节点的Key或者Tag中保存诸如ID类型的数据。这样处理,当然是可以利用本级节点和其若干父节点的Key或者Tag构造筛选字符串。问题是这样处理比较麻烦,需要从本级节点向上逐级找父节点。

  有没有办法更简单一些呢?答案是肯定的。假如在一个窗体中的TreeView就是提供筛选功能的,那么我们就可以在节点的创建过程中,直接将该节点对应的筛选字符串写入到它的Tag中。如此一来,单击节点的筛选就极为简单了,因为不必再去向上寻找所需的数据,也不必再去构造筛选字符串了。直接调用Tag的值,就已经得到筛选字符串。

  这种偷藏字符的手段有点类似寄居蟹,不用自己制造居所,拿别人的壳来用就行了。看似不劳而获,却充满了生存的智慧。

示例:[attach]53846[/attach]

视图:
[attach]53847[/attach]




作者: itso    时间: 2014-4-18 12:35
版主,受教了,真羡慕你
作者: todaynew    时间: 2014-4-18 12:48
itso 发表于 2014-4-18 12:35
版主,受教了,真羡慕你

不必客气
作者: 玉树TMD临风    时间: 2014-4-19 15:23
这个和将Tag值设为不带where的查询关键字相比,哪个效率更高啊?用筛选好像要先恢复一次所有记录再筛选吧。

我自己的程序是用的where关键字
作者: todaynew    时间: 2014-4-19 21:20
玉树TMD临风 发表于 2014-4-19 15:23
这个和将Tag值设为不带where的查询关键字相比,哪个效率更高啊?用筛选好像要先恢复一次所有记录再筛选吧。 ...

呵呵,风马牛不相及的两件事情。
Tag的处理只涉及到如何构建where子句的字符串。
至于是用筛选还是设置数据源,是另外一件事情。
作者: asklove    时间: 2014-6-10 16:28
学习一下
作者: nncchh    时间: 2015-7-20 12:51
学习学习
作者: yhl091122    时间: 2016-4-4 15:41
学习
作者: yhl091122    时间: 2016-8-20 13:22
学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3