2011-07-16 7 views
0

を使用した場合TreeNode.ParentとTreeNode.ChildNodesを取得できません私は、現時点ではTreeViewコントロールのノードを移入していたユーザは、親ノードを展開しますASP.NET: How to Create an Expandable Empty TreeNodeに記載されている。人口のプロセスは正常に動作します。ASP.NETのTreeViewコントロール:として需要</em>に<em>移入を使用して - - 初めてTreeView.TreeNodePopulate

がルートノードでなかったとしても、私がTreeNode.Parentを取得しようとすると、がNULLになってしまいます。また、TreeNode.ChildNodesは、指定された子ノードがある場合でも空のコレクションを返しますTreeNode ...

説明はありますか?そして、私はそれを解決するために何ができますか?

ありがとうございます。

+0

コード?エラーメッセージの正確なテキスト?それが発生する行ですか? –

+0

@スティーブ・ウェレンズ:質問を読んだことがありますか?エラーメッセージが表示されません。また、コードのどの部分を見たいですか? –

答えて

0

ユーザーがルート親ノードを選択した場合は、以下のこのコード例は、データの収集を使用してツリーを移入するために動作するはずですが:

がvoid ParseTreeNodes(オブジェクト送信者、System.Web.UI.WebControls.TreeNodeEventArgsを保護E)

{ 
    //Uncomment this line below and inspect the 'nodes' variable if you need to inspect all of the nodes 
    //var nodes = this.MyTreeView.Nodes; 

    //Some call to get data for example 
    var dataCollection = GetSomeDataForTheTree() 

    //Iterate through and create a new node for each row in the query results. 
    //Notice that the query results are stored in the table of the DataSet. 
    foreach (MyClassWithData data in dataCollection) 
    { 
     //Create the new node using the values from the collection: 
     TreeNode newNode = new TreeNode(data.LastName, system.ID) 
      { 
       //Set the PopulateOnDemand property to false, because these are leaf nodes 
       and do not need to be populated on subsequent calls. 
       PopulateOnDemand = false, 
       SelectAction = TreeNodeSelectAction.Select 
      }; 

     //Add the new node to the ChildNodes collection of the parent node.      
     e.node.ChildNodes.Add(NewNode); 
    } 
} 

私はあなたが親ノードとの問題を有するか又はNodesコレクション内の特定の値を知っている場合は、ツリービューで、現在のノードを検査するためのコードの追加の行を追加しました。

関連する問題