1、新建一个窗口,插入一个目录树控件,将目录树的“显示复选框”属性设置为True。
2、将窗口的AfterLoad事件代码设置为:
e.Form.Controls("TreeView1").BuildTree("订单",
"产品|客户")
3、将目录树的AfterCheckNode事件代码设置为:
Dim trv As WinForm.TreeView =
e.Sender
Dim flt As
String
For
Each nd As WinForm.TreeNode In e.node.Nodes '清除子节点选中状态
nd.Checked = False
Next
If e.node.ParentNode IsNot
Nothing
Then
'去掉父节点选中状态
e.node.ParentNode.Checked
= False
End
If
For
Each nd As WinForm.TreeNode In trv.AllNodes
If nd.Checked Then
If
flt > ""
Then
flt = flt & " Or "
'注意用or而不是And
End
If
If nd.Level = 0
Then
'注意下面的条件都要用括号括起来
flt = flt & "(
产品 = '" & nd.Text & "')"
Else
flt = flt & "( 产品 = '"
& nd.ParentNode.Text
& "' And 客户 =
'" & nd.Text & "')"
End
If
End
If
Next
Tables("订单").Filter =
flt
这个目录树的生成是代码设定好,只有二例,我现在要的是订单中所有列都在复选组合框CheckedComboBox自由选择,然后生成一个多选筛选树,动态从数据库中调取某表的数据,请问这个代码?