/// <summary> /// отстроить дерево измерений на TreeView /// </summary> /// <param name="treeView">Компонент treeview</param> /// <param name="gtn">верхний узел логического дерева</param> /// <param name="showmeasures">отображать измерения?</param> private static void PlotGroupTree(TreeView treeView, QuadroSoft.Enose.DataAccess.DataProvider.GroupTreeNode gtn, bool showmeasures) { treeView.Nodes.Clear(); TreeNode tree = treeView.Nodes.Add(gtn.Name); treeView.Tag = gtn; if (gtn.SubNodes != null) { foreach (DataProvider.GroupTreeNode gnode in gtn.SubNodes) { TreeNode n; addSub(n = tree.Nodes.Add(gnode.ID.ToString(), gnode.ToString()), gnode, showmeasures); n.ImageIndex = n.SelectedImageIndex = 0; } } if (showmeasures) { if (gtn.Measures != null) { foreach (int id in gtn.Measures.Keys) { TreeNode n = tree.Nodes.Add("" + id, gtn.Measures[id]); n.ForeColor = Color.Green; n.Tag = id; n.ImageIndex = n.SelectedImageIndex = 1; } } } }
/// <summary> /// Добавление подузлов дерева измерений к узлу дерева TreeView /// </summary> /// <param name="node">узел TreeNode</param> /// <param name="gtn">узел логического дерева (группа измерений)</param> /// <param name="showmeasures">отображать измерения?</param> private static void addSub(TreeNode node, QuadroSoft.Enose.DataAccess.DataProvider.GroupTreeNode gtn, bool showmeasures) { node.Tag = gtn; foreach (DataProvider.GroupTreeNode gnode in gtn.SubNodes) { TreeNode n; addSub(n = node.Nodes.Add(gnode.ID.ToString(), gnode.ToString()), gnode, showmeasures); n.ImageIndex = n.SelectedImageIndex = 0; } if (showmeasures) { foreach (int id in gtn.Measures.Keys) { TreeNode n = node.Nodes.Add(id.ToString(), gtn.Measures[id]); n.ImageIndex = n.SelectedImageIndex = 1; n.ForeColor = Color.Green; n.Tag = id; } } }