2015-09-04 137 views
0

我有一個樹形視圖,其中有兩個子節點parentID 0和一個沒有ID的主節點。Treeview節點不能在點擊文本時擴展

Root Node 
0--> Child 1 

0--> Child 2` 

問題是,無論何時單擊Child 2,Child 1節點都會展開。我檢查了使用斷點,並發現每當我點擊孩子2時,selectednode.text顯示孩子1.我怎樣才能清除這個?

`Treeview1_SelectedNodeChanged() 
    { 
    Datatable dt = //Treeview binding 
    ds.tables.add(dt); 
    TreeNode selectedNode = New TreeNode(); 
    selectedNode = this.Treeview1.SelectedNode.Text; 
    }` 

這裏selectedNode始終顯示第一個子節點,即使我點擊第二個孩子節點的文本。我使用數據表從SQL表綁定樹。

爲樹視圖的代碼結合是如下

「pageLoad的() { { this.GetParentNodes()(的IsPostBack!); }}

public void GetParentNodes() 
{ 
    try 
    { 
     TreeNode topNode = New TreeNode(); 
     topNode.Text = "Reference Document"; 
     topNode.Value = "0"; 
     topNode.SelectAction = TreeNodeSelectAction.SelectExpand(); 
     topNode.CollapseAll(); 
     TreeView1.Nodes.Add(topNode); 
     DataTable dt = obj.SelectDocument("DocumentId"); 
     ds.Tables.Add(dt); 
    ds.Relations.Add("ChildRow",ds.Tables[0]Columns["Id"],ds.Tables[0]Columns["ParentId"],false); 
     foreach(DataRow firstDataRows in ds.Tables[0]Rows) 
     { 
      if(Convert.toInt32(firstDataRows["ParentId"] == 0) 
      { 
       TreeNode parentTreeNode = New TreeNode(); 
       parentTreeNode.Text = firstDataRows["FolderName"].ToString(); 
       parentTreeNode.Value = firstDataRows["ParentId"].ToString(); 
       parentTreeNode.SelectAction =           TreeNodeSelection.SelectExpand(); 
       parentTreeNode.CollapseAll(); 
       parentTreeNode.Selected = True; 
       topNode.ChildNodes.Add(parentTreeNode); 
       GetChildNodes(firstDataRows,parentTreeNode); 
      }' 

感謝&問候, SAJ

+0

請註明您的編碼環境 – Ormoz

+0

腳本在C#中做了一個ASP.Net網站。單擊+符號時樹狀結構正常工作,但單擊節點文本時不起作用。我已用下面的代碼 Treeview1_SelectedNodeChanged() { DATATABLE DT = //樹形結合 ds.tables.add(DT); TreeNode selectedNode = New TreeNode(); selectedNode = this.Treeview1.SelectedNode.Text; } 這裏,selectedNode總是顯示第一個子節點的文本,即使我點擊第二個子節點。我使用數據表從SQL表綁定樹。 感謝和問候, SaJ – SaJ

回答

0

上述問題是通過使一個小的變化如下所述解決...

通過改變

parentTreeNode.Value = firstDataRows["ParentId"].ToString(); 
 

 
to 
 

 
parentTreeNode.Value = firstDataRows["Id"].ToString();

感謝&問候, 灑進一個