2012-12-07 65 views
1

我有一個菜單作爲樹形視圖,我想要做的是使用戶選擇的任何treenode不會再次選擇,除非他轉到不同的頁面。我如何在asp.net和vb中做到這一點?使用treenodes不能再選擇當前的選擇

更新:

確定到目前爲止,這是我在樹節點的選擇上要改變子

ViewState(10) = TreeView1.SelectedNode 

    TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.None 

    If ViewState(10).valuepath <> TreeView1.SelectedNode.ValuePath Then 
     TreeView1.SelectedNode.SelectAction = TreeNodeSelectAction.Select 
    End If 

IM確保專家那裏知道到底爲什麼這是行不通的,雖然我是驚訝它遵守。反正這給了我一個錯誤,雖然我想不出另一種方式來保持這種選擇的節點在

UPDATE:

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

我想這應該使用JavaScript來完成,因爲它是一個客戶端的情況需要這對任何人的答案。 –

+0

我不知道JavaScript,以及如何構造每個treenode的代碼? –

回答

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