以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]checed属性用于树节点的情况  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23035)

--  作者:aloby
--  发布时间:2012/8/31 8:26:00
--  [求助]checed属性用于树节点的情况

运行"授权"窗,点中左边树中某节点,右键弹出复选框,复选后"确定",左边这个树节点下的子节点全没了. 现已基本确定问题出在If nd.checked=True Then
这句上,但不知怎么修改.相关代码如下

  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工资内部数据库.table

 

e.Form.Controls("TreeView1").BuildTree("操作员", "名称")
Dim tr As WinForm.TreeView = Forms("授权").Controls("TreeView1")
Dim tnd As WinForm.TreeNode = tr.SelectedNode
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
tr.SelectedNode.Nodes.Clear() \'清除所有子节点

For Each nd As WinForm.TreeNode In e.Form.Controls("TreeView1").allnodes \'遍历本窗口选中节点下的所有子节点
   If nd.checked=True Then
       tnd.Nodes.Add(nd.name,nd.text)
   End If
Next

e.form.Close()


--  作者:aloby
--  发布时间:2012/8/31 9:35:00
--  

授权窗的树中点右键,出个窗口,这里有"确定".

 


--  作者:狐狸爸爸
--  发布时间:2012/8/31 10:14:00
--  

第一行应该去掉,因为你单击确定重新生成目录树,等于所有节点又回到初始状态了啊:
 
  
\'e.Form.Controls("TreeView1").BuildTree("操作员", "名称")
Dim tr As WinForm.TreeView = Forms("授权").Controls("TreeView1")
Dim tnd As WinForm.TreeNode = tr.SelectedNode
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
tr.SelectedNode.Nodes.Clear() \'清除所有子节点
For Each nd As WinForm.TreeNode In e.Form.Controls("TreeView1").allnodes \'遍历本窗口选中节点下的所有子节点
   If nd.checked=True Then
       messagebox.show("abd")
       tnd.Nodes.Add(nd.name,nd.text)
   End If
Next
e.form.Close()

 

所以说,做例子是最好的,你早点做例子,我们早就帮你解决了。

[此贴子已经被作者于2012-8-31 10:14:33编辑过]

--  作者:aloby
--  发布时间:2012/8/31 10:16:00
--  
谢谢了,终于解决了