
此主题相关图片如下:未命名.jpg

取值要求:
1、从选中的子级复选框取值,取的值为姓名后的“
数字”;
2、复选框只允许能选中一个,不允许多选;
3、如果子级复选框处于未选中状态,选择其他父级时,自动退回父级。
[此贴子已经被作者于2011-8-13 22:54:15编辑过]
1、 这样???
Dim tv As WinForm.TreeView
tv = Forms("窗口1").Controls("TreeView1")
Dim sz As String
Dim nd As WinForm.TreeNode
For i As Integer = 0 To tv.Nodes.Count -1
For ii As Integer = 0 To tv.Nodes.Count -1
If tv.Nodes(i).nodes(ii).Checked = True 'AndAlso tv.Node.Level = 1
sz = tv.Nodes(i).nodes(ii).FullPath.Split("\")(1).trim("|").split(":")(1)
End If
Next
Next
output.show(sz)
[此贴子已经被作者于2011-8-14 10:12:55编辑过]
以下是引用狐狸爸爸在2011-8-14 9:18:00的发言:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.node.Level =1 Then
If e.node.Checked Then
For Each nd As WinForm.TreeNode In trv.AllNodes
If nd.FullPath <> e.node.FullPath Then
nd.Checked = False
End If
Next
messagebox.show(e.node.text.split(":")(1))
End If
End If
不够通用
有时候贺老师是头痛医头,脚痛医脚。
应该解决事先不知是几级子目录的问题。
以下是引用lihe60在2011-8-14 11:18:00的发言:
不够通用
有时候贺老师是头痛医头,脚痛医脚。
应该解决事先不知是几级子目录的问题。
这才是好大夫,西医都这样,嘿嘿。
把 If e.node.Level =1 Then 去掉就可以通用了吧。 这是为了效率而使用的。
[此贴子已经被作者于2011-8-14 11:47:38编辑过]
以下是引用狐狸爸爸在2011-8-14 9:18:00的发言:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.node.Level =1 Then
If e.node.Checked Then
For Each nd As WinForm.TreeNode In trv.AllNodes
If nd.FullPath <> e.node.FullPath Then
nd.Checked = False
End If
Next
messagebox.show(e.node.text.split(":")(1))
End If
End If
贺老师的代码怎么也会出现错误,代码写进去后根本确定不了。