Foxtable(狐表)用户栏目专家坐堂 → ][注意] 和 [讨论 关于“通用可以多选的多层筛选树”的对比情况汇报


  共有8730人关注过本帖树形打印复制链接

主题:][注意] 和 [讨论 关于“通用可以多选的多层筛选树”的对比情况汇报

帅哥哟,离线,有人找我吗?
e-png
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
][注意] 和 [讨论 关于“通用可以多选的多层筛选树”的对比情况汇报  发帖心情 Post By:2013/3/31 10:42:00 [显示全部帖子]

参见:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=30499  20楼例子

 

视图中左边的是don老师的,右边的是狐狸爸爸的:

 (说明一下,上面例子可能还是原来他没有更新的代码,don老师在http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30118&authorid=0&page=3&star=1 1楼已经更新了代码,在此表示歉意了。但原分析就不做修改了,因为那是曾经有过的错误,以便来者借鉴。)

 

情况一:don老师的筛选条件显示 比狐爸的好。筛选条件都是正确的。不过要是来源表量够大的话,狐爸的代码效率恐怕不太好,呵呵。【这是分别点击最末级节点的】

 


图片点击可在新窗口打开查看此主题相关图片如下:左边don的《》右边狐爸的 1.jpg
图片点击可在新窗口打开查看

 

 

情况二:don的筛选条件错误,狐爸的正确。【这是在1的基础上,取消末级中间的日期后】

 


图片点击可在新窗口打开查看此主题相关图片如下:左边don的《》右边狐爸的 2.jpg
图片点击可在新窗口打开查看


 

情况三:don的勾选状态优越(但要取消下下级时筛选条件错误·见2条),狐爸的筛选条件没错,但视觉不好,且不便取消CS02下的下级个节点(要一个个重新来勾选下级 - 不是全选) 

 


图片点击可在新窗口打开查看此主题相关图片如下:左边don的《》右边狐爸的 3.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-4-2 1:34:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/3/31 10:53:00 [显示全部帖子]

情况四:勾选DP02下的0节点和EP04下的全部节点时:don的筛选简洁正确,狐爸的虽然筛选条件正确但看上去挺别扭。 

 


此主题相关图片如下:左边don的《》右边狐爸的 4.jpg
按此在新窗口浏览图片

 

 

情况五:表面上看都只勾选了EP02和EP03两个节点,难道狐爸的筛选条件错误了? 其实狐爸的没有错,原因是上一行节点EP01中已经勾选的好几个下级节点,当收拢EP01节点时就看不到了。  

 


此主题相关图片如下:左边don的《》右边狐爸的 5.jpg
按此在新窗口浏览图片

 

 

 所以,解决下图要求是有必要的:
此主题相关图片如下:gx-.jpg
按此在新窗口浏览图片

 

 

总结:
don 老师的:勾选视觉好,但勾选下下级节点时,上上级节点不同步导致晒选条件错误。且从末级节点网上级节点勾选时,上上级节点(父父节点)也不能自动勾上(同步)也会导致代码错误,结果也和上面五的狐爸的视图一样了,给人予错觉。


狐狸爸爸的:勾选视觉混乱,不清晰,且关闭父节点时,不知道子(子)节点是否有被勾选的。但筛选条件都正确。不过数据量大时效率有疑问哦。

[此贴子已经被作者于2013-3-31 11:13:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/4/1 9:00:00 [显示全部帖子]

以下是引用狐狸爸爸在2013-4-1 8:36:00的发言:

呵呵,关于狐狸老头的分析不正确,因为要筛选所有子节点的时候,其实选择父节点就行,没有必要逐个选择子节点,例如你要筛选某个产品的全部记录,选择这个产品就行,没有必要再逐个选择这个产品下的每个客户。

 

图片点击可在新窗口打开查看

实际上选择上级节点后,要取消某个或几个下级节点的情况非常多吧。换句话说,如果下级节点有十个,我想要的只有八个,那么就要勾选选八次了。  呵呵
另外,当下级节点有被选中时,上级(直到0级)怎样在目录树的复选框里作个标记(不是勾选状态),见3楼最后一个图。


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/4/1 10:14:00 [显示全部帖子]

这是我做的:全选子节点而保留父节点的代码,看看可否?

Dim trv As WinForm.TreeView = e.Sender
Dim flt,s1 As String
Dim nd As WinForm.TreeNode
Dim pd As WinForm.TreeNode
nd = trv.SelectedNode
For Each ndx As WinForm.TreeNode In nd.allNodes 
    ndx.Checked = nd.Checked
Next
pd = e.Node.ParentNode

Do While pd IsNot Nothing  

    If nd.checked = False
        pd.Checked = False
        pd = pd.ParentNode
    ElseIf nd.checked = True
        For Each ndp As WinForm.TreeNode In pd.allNodes
            If ndp.checked = False
                pd.Checked = False
                '     pd = pd.ParentNode
                Exit For
            Else
                pd.Checked = True
            End If
        Next
        pd = pd.ParentNode
        nd = nd.ParentNode
    End If
Loop

中间状态的属性,希望早日实现,谢谢了。


 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/4/2 1:26:00 [显示全部帖子]

我是用 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=30499&page=5&star=2 中20楼的例子做的分析,

以下是引用夕然在2013-3-30 23:24:00的发言:

 我把don大大的例子和这个例子综合了一下,给大家参考

窗口1 是don大大的

窗口2 是狐爸做的

 

 下载信息  [文件大小:312.0 KB  下载次数:12]
图片点击可在新窗口打开查看点击浏览该文件:多级目录树筛选.table

以为那位狐友已经用你更新后的代码了。没有仔细核对您更新后的代码,万分 sorry

 

只是:右边窗口狐爸的我多加了两列,以便对应分析。。。。

 

没有什么“实不实”的,您作为前辈,对学生的错误指出、纠正就是了吧。

 

其实,我最想要的是7楼狐爸说的那个中间状态~~  呵呵。


 回到顶部