我有一个菜单作为树视图,我正在尝试做的是使用户选择的任何treenode不能再次选择,除非他去另一页。我将如何在asp.net和vb中执行此操作?
更新
好到目前为止这是我在treenode选择改变子
中发生的事情 ViewState(10) = TreeView1.SelectedNode
TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.None
If ViewState(10).valuepath <> TreeView1.SelectedNode.ValuePath Then
TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.Select
End If
我确定那里的专家知道为什么这不起作用虽然我很惊讶它遵守了。无论如何这给了我一个错误,虽然我想不出另一种方法来保持所选节点
更新:
ViewState(10) = TreeView1.SelectedNode.DataItem
If ViewState(10) <> TreeView1.SelectedNode.DataItem Then
TreeView1.SelectedNode.Selected = ViewState(10)
TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.Select
Else
TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.None
End If
这适用于selectaction.none,这正是我想要的,但当用户选择另一个treenode时,我再次遇到麻烦。
答案 0 :(得分:2)
这是将来需要这个的人的答案
For Each n As TreeNode In TreeView1.Nodes
For Each a As TreeNode In n.ChildNodes
If a.Selected = True Then
a.SelectAction = TreeNodeSelectAction.None
Else
a.SelectAction = TreeNodeSelectAction.Select
End If
Next
Next