private void WalkerRefreshNode(bool refreshAllNodes)
{
TreeNode selectedNode = tree.SelectedNode;
TreeNode bufferedNode = (TreeNode)selectedNode.Clone();
if (SelectedNode.Tag != null)
{
DataRow tag = (DataRow)selectedNode.Tag;
if (tag.Table.TableName == "example")
{
if ((selectedNode.Nodes.Count == 0) || refreshAllNodes)
{
selectedNode.Text += emptyNodeTempText;
this.ActionWalk((uint)tag["task0"], bufferedNode, 5);
selectedNode = bufferedNode; // -- doesn't work.
...
}
...
}
...
}
...
}
^ here is the code that I'm trying to get working. I want to be able to fully replace Selected node with custom node. However it doesn't react to my assignment and node remains unchanged. can someone help me to get over this problem?
Насколько мне известно, selectedNode - это ссылка на tree.SelectedNode, и когда я пытался установить что-то для selectedNode, он применялся к tree.SelectedNode. BeginUpdate () и EndUpdate () решили проблему, однако заблокировали возможность работы с остальными узлами, которые не обновляются.
– 20 июля 2009, 08:52selectedNode is a (local) copy of the tree.SelectedNode reference. Changing it does nothing in the Tree.
– Henk Holterman20 июля 2009, 09:13