コード例 #1
0
ファイル: Form1.cs プロジェクト: zhifu10001/YAGP
        private void BuildTagTree()
        {
            var uniqueTags = (from one in dataSet select one.Tag).Distinct(); //.OrderBy(name => name);
            var roots      = (from hier in displayHier where hier.Tag == null select hier);
            var ents       = (from hier in displayHier where uniqueTags.Contains(hier.Tag) select hier).ToArray();

            List <TreeNode> nodes = new List <TreeNode>();

            foreach (var treeHier in roots)
            {
                treeHier hier1 = treeHier;
                TreeNode node  = new TreeNode(hier1.Label)
                {
                    Tag = hier1, Checked = true
                };
                var childs = (from hier in ents where hier.Tag != null && hier.Group == hier1.Group select hier);
                foreach (var child in childs)
                {
                    TreeNode cNode = new TreeNode(child.Label == "" ? child.Tag : child.Label)
                    {
                        Tag = child, Checked = true
                    };
                    node.Nodes.Add(cNode);
                }
                nodes.Add(node);
            }

            EventsPick.SuspendLayout();
            EventsPick.Nodes.Clear();
            EventsPick.Nodes.AddRange(nodes.ToArray());
            EventsPick.ResumeLayout();
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: zhifu10001/YAGP
        private List <string> GetCheckedEvents()
        {
            List <string> checkedEvents = new List <string>();

            foreach (TreeNode node in EventsPick.Nodes)
            {
                foreach (TreeNode child in node.Nodes)
                {
                    if (!child.Checked)
                    {
                        continue;
                    }
                    treeHier data = child.Tag as treeHier;
                    if (data != null && !string.IsNullOrEmpty(data.Tag))
                    {
                        checkedEvents.Add(data.Tag);
                    }
                }
            }
            return(checkedEvents);
        }