Modified code to support structure changes to treeview nodes

This commit is contained in:
Jim
2015-05-16 17:02:26 +00:00
parent f66cb15dd3
commit f005316849
9 changed files with 309 additions and 79 deletions

View File

@@ -2909,6 +2909,43 @@ namespace Volian.Controls.Library
if (parent == null) return null;
if (!parent.IsExpanded)
parent.Expand();
VETreeNode child = GetChildNode(selectedItem, parent);
if (child != null)
return child;
parent.ChildrenLoaded = false;
parent.RefreshNode();
child = GetChildNode(selectedItem, parent);
return child;
}
public VETreeNode FindNode(IVEDrillDownReadOnly selectedItem, TreeNodeCollection tnc)
{
foreach (TreeNode tn in tnc)
if (tn is VETreeNode)
{
if ((tn as VETreeNode).VEObject is ItemInfo && ((tn as VETreeNode).VEObject as ItemInfo).ItemID == (selectedItem as ItemInfo).ItemID)
return tn as VETreeNode;
else
{
VETreeNode cn = FindNode(selectedItem, tn.Nodes);
if (cn != null)
return cn;
}
}
return null;
}
public VETreeNode RefreshRelatedNode(IVEDrillDownReadOnly selectedItem)
{
VETreeNode child = FindNode(selectedItem, this.Nodes);
if (child == null) return null;
if (!child.IsExpanded)
child.Expand();
child.ChildrenLoaded = false;
child.RefreshNode();
return child;
}
private VETreeNode GetChildNode(IVEDrillDownReadOnly selectedItem, VETreeNode parent)
{
foreach (TreeNode childNode in parent.Nodes)
{
VETreeNode child = childNode as VETreeNode;