以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于这种目录树的问题,帮助文件里没有!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=13002)

--  作者:gaoyong30000
--  发布时间:2011/9/23 20:15:00
--  [求助]关于这种目录树的问题,帮助文件里没有!
目录树第一层 也就是0节点上的 都是我自己分类的   
从第二层1 开始 是根据表里面列的值进行细分的  

现在 我想实现 点击目录树任何一层都可以进行筛选(例如:点击 欲购车型  即可筛选出 欲购车型列里所有非空的数据 )

这个代码貌似不起作用
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
    \'If nd.Text.IndexOf("加载全部客户") >= 0 Then
       If nd.Text = "加载全部客户"  Then
        Tables("销售意向客户进度管制").ApplyFilter =False
    End If
       If nd.Text = "欲购车型"  Then
        Tables("销售意向客户进度管制").Filter = "欲购车型 Is Not Null"
    End If
Next

此项目如图:

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


请问该如何解决?


--  作者:e-png
--  发布时间:2011/9/24 0:06:00
--  
恐怕你要提供例子上来才能引起有能力帮助你的兴趣了。
--  作者:狐狸爸爸
--  发布时间:2011/9/24 8:44:00
--  

筛选是针对选定节点的,怎么可能:

 

For Each nd As WinForm.TreeNode In trv.AllNodes

Next

 

这样不仅速度慢得出奇,而且永远都是最后一个节点生效,你筛选啥?

 

正常应该这样,根据选定节点生成少选条件:

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim  nd As WinForm.TreeNode = trv.SelectedNode
If nd.Text = "加载全部客户"  Then
    Tables("销售意向客户进度管制").ApplyFilter =False
ElseIf nd.Text = "欲购车型"  Then
    Tables("销售意向客户进度管制").Filter = "欲购车型 Is Not Null"
End If

 关于自己设计筛选书,帮助有现成的例子:

http://www.foxtable.com/help/topics/0917.htm

 

但是看帮助一定要按顺序,要理解,不要总是生搬硬套,所以还是建议你从使用指南开始,系统性地看两到三遍帮助,真正做到理解。

 

 

[此贴子已经被作者于2011-9-24 8:45:37编辑过]

--  作者:gaoyong30000
--  发布时间:2011/9/24 10:16:00
--  
现在遇到一个问题    代码太繁琐  

由于 我的目录树是自己设计的  第一层0节点 都是我自己命名的  第二层1节点开始 列中才有数据  

现在我只能用If nd.Text =  来一个个套用 显得很繁琐

If e.Node.Text.IndexOf("销售顾问") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="销售顾问 Is Not Null"
End If
If e.Node.Text.IndexOf("王小贺") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'王小贺\'"
End If
If e.Node.Text.IndexOf("胡安邦") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'胡安邦\'"
End If
If e.Node.Text.IndexOf("于骏驰") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'于骏驰\'"
End If
If e.Node.Text.IndexOf("沈扬") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'沈扬\'"
End If
If e.Node.Text.IndexOf("王杜俊") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'王杜俊\'"
End If
If e.Node.Text.IndexOf("陆海妹") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'陆海妹\'"
End If
If e.Node.Text.IndexOf("马维") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'马维\'"
End If
If e.Node.Text.IndexOf("韩文秀") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'韩文秀\'"
End If
If e.Node.Text.IndexOf("戴琼花") >= 0 Then
    Tables("销售意向客户进度管制").Filter ="[销售顾问] = \'戴琼花\'"
End If


表 和 窗口菜单如下 窗口菜单里 客户信息分类里的目录树
能否有简化的方法  ?

 

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:例子.rar


--  作者:don
--  发布时间:2011/9/24 10:45:00
--  
暈,這樣的代碼也叫編程?

--  作者:gaoyong30000
--  发布时间:2011/9/24 11:03:00
--  
以下是引用don在2011-9-24 10:45:00的发言:
暈,這樣的代碼也叫編程?

你最好看下我的例子


--  作者:狐狸爸爸
--  发布时间:2011/9/25 9:31:00
--  

看看帮助是怎么做的:

 

http://www.foxtable.com/help/topics/0917.htm