以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 各位老师,为什么默认全选,前面框框里没有显示? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103049) |
-- 作者:bootes29 -- 发布时间:2017/6/29 17:08:00 -- 各位老师,为什么默认全选,前面框框里没有显示? e.Form.Controls("TreeView1").BuildTree("表c", "别人编号|我们编号") Dim nd = e.Form.Controls("TreeView1").nodes.insert("所有", 0) nd.checked = True Tables("表c").Filter = "" Dim trv As WinForm.TreeView = e.Sender Dim flt As String If e.Node.Text = "所有" AndAlso e.node.Checked Then flt = "" Else flt = "1=2" For Each nd As WinForm.TreeNode In e.node.Nodes \'清除子节点选中状态 nd.Checked = e.node.Checked 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 End If Tables("表c").Filter = flt -----------------------
|
-- 作者:有点色 -- 发布时间:2017/6/29 17:12:00 -- 你想全选?
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") [此贴子已经被作者于2017/6/29 17:27:26编辑过]
|
-- 作者:bootes29 -- 发布时间:2017/6/29 17:22:00 -- 老师您这代码放哪里?afterload? |
-- 作者:有点色 -- 发布时间:2017/6/29 17:23:00 -- 是的,AfterLoad事件。 |
-- 作者:bootes29 -- 发布时间:2017/6/29 17:25:00 -- trv.BuildTree("表c", "别人编号|我们编号") 这段报错
|
-- 作者:有点色 -- 发布时间:2017/6/29 17:27:00 -- Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") trv.BuildTree("表c", "别人编号|我们编号") Dim nd As WinForm.TreeNode = trv.nodes.insert("所有", 0) Tables("表c").Filter = "" For Each nd In trv.AllNodes nd.Checked = True Next |
-- 作者:bootes29 -- 发布时间:2017/6/29 17:31:00 -- 可以了 太牛了,多谢老师! 这两段语句一样的啊,为啥第一段 报错 第二段正常?
|
-- 作者:有点色 -- 发布时间:2017/6/29 17:33:00 -- 2楼的第一句代码写错了。后来改了。 |
-- 作者:bootes29 -- 发布时间:2017/6/29 17:49:00 -- 受教了,辛苦,辛苦 |