private RadTreeNode _CreateNode(CswNbtViewNode ViewNode, ViewTreeSelectType SelectType) { RadTreeNode node = new RadTreeNode(); node.ImageUrl = ViewNode.IconFileName; node.Text = ViewNode.TextLabel; if (SelectableNodeTextPrefix != string.Empty || SelectableNodeTextSuffix != string.Empty) { if ((SelectType == ViewTreeSelectType.Relationship && ViewNode is CswNbtViewRelationship && (IsFirstLevelRemovable || ViewNode.Parent is CswNbtViewRelationship)) || // BZ 9203 (SelectType == ViewTreeSelectType.Property && ViewNode is CswNbtViewProperty) || (SelectType == ViewTreeSelectType.Filter && ViewNode is CswNbtViewPropertyFilter)) { { node.Text = node.Text + SelectableNodeTextPrefix; node.Text = node.Text + CswTools.SafeJavascriptParam(ViewNode.ArbitraryId); node.Text = node.Text + SelectableNodeTextSuffix; } } } node.Expanded = true; if (SelectType != ViewTreeSelectType.None) { node.Enabled = false; if ((SelectType == ViewTreeSelectType.Relationship && ((ViewNode is CswNbtViewRoot && IsRootSelectable) || ViewNode is CswNbtViewRelationship)) || (SelectType == ViewTreeSelectType.Property && (ViewNode is CswNbtViewRelationship || ViewNode is CswNbtViewProperty)) || (SelectType == ViewTreeSelectType.Filter && (ViewNode is CswNbtViewProperty || ViewNode is CswNbtViewPropertyFilter))) { node.Enabled = true; } } node.CssClass = "TreeNode"; node.SelectedCssClass = "SelectedTreeNode"; node.Value = ViewNode.ArbitraryId; return(node); }
public void reinitTreeFromView(CswNbtView View, CswNbtViewNode ViewNodeToSelect, CswNbtViewNode DefaultNodeToSelect, ViewTreeSelectType SelectType) { EnsureChildControls(); // Setup tree and selected node string PriorSelectedNodeValue = string.Empty; if (_Tree.SelectedNode != null) { PriorSelectedNodeValue = _Tree.SelectedNode.Value; } _Tree.Nodes.Clear(); _initTreeFromViewRecursive(View.Root, _Tree.Nodes, SelectType); if (PriorSelectedNodeValue != string.Empty) { RadTreeNode PotentialNodeMatch = _Tree.FindNodeByValue(PriorSelectedNodeValue); if (PotentialNodeMatch != null) { PotentialNodeMatch.Selected = true; } } if (ViewNodeToSelect != null) { RadTreeNode PotentialNodeMatch = _Tree.FindNodeByValue(ViewNodeToSelect.ArbitraryId); if (PotentialNodeMatch != null) { PotentialNodeMatch.Selected = true; } } if (_Tree.SelectedNode == null && DefaultNodeToSelect != null) { _Tree.FindNodeByValue(DefaultNodeToSelect.ArbitraryId).Selected = true; } if (_Tree.SelectedNode == null && IsRootSelectable) { _Tree.FindNodeByValue(View.Root.ArbitraryId).Selected = true; } _Tree.ExpandAllNodes(); }
private void _initTreeFromViewRecursive(CswNbtViewNode ViewNode, RadTreeNodeCollection Nodes, ViewTreeSelectType SelectType) { RadTreeNode newNode = null; newNode = _CreateNode(ViewNode, SelectType); Nodes.Add(newNode); // Recurse if (ViewNode is CswNbtViewRoot) { foreach (CswNbtViewRelationship Child in ((CswNbtViewRoot)ViewNode).ChildRelationships) { _initTreeFromViewRecursive(Child, newNode.Nodes, SelectType); } } else if (ViewNode is CswNbtViewRelationship) { foreach (CswNbtViewProperty Child in ((CswNbtViewRelationship)ViewNode).Properties) { _initTreeFromViewRecursive(Child, newNode.Nodes, SelectType); } foreach (CswNbtViewRelationship Child in ((CswNbtViewRelationship)ViewNode).ChildRelationships) { _initTreeFromViewRecursive(Child, newNode.Nodes, SelectType); } } else if (ViewNode is CswNbtViewProperty) { foreach (CswNbtViewPropertyFilter Child in ((CswNbtViewProperty)ViewNode).Filters) { _initTreeFromViewRecursive(Child, newNode.Nodes, SelectType); } } }