Ejemplo n.º 1
0
        //导出所有父节点
        private static void ExportAllParents2CSV(StreamWriter mysw, StringBuilder allLines, MyTreeNode node)
        {
            WindowView.notify.SetStatusMessage("正在导出该节点的所有父节点。。。");
            List <MyTreeNode> parentNodes = MyTrees.FindToRootNodeList(node.TopId);

            parentNodes.Reverse();
            allRow += parentNodes.Count;

            for (int i = 0; i < parentNodes.Count; i++)
            {
                MyTreeNode parentNode = parentNodes[i];
                allLines.Clear();
                allLines.Append(parentNode.SysId);
                allLines.Append(",");
                allLines.Append(parentNode.TopId);
                allLines.Append(",");
                allLines.Append(parentNode.Name);
                allLines.Append(",");
                allLines.Append(parentNode.Level);
                allLines.Append(",");
                allLines.Append(parentNode.ChildrenLevels);
                allLines.Append(",");
                allLines.Append(parentNode.ChildrenNodes.Count);
                allLines.Append(",");
                allLines.Append(parentNode.ChildrenCount);
                foreach (string otherProp in parentNode.OtherProps)
                {
                    allLines.Append(",");
                    allLines.Append(otherProp);
                }

                mysw.WriteLine(allLines.ToString());
            }
        }
Ejemplo n.º 2
0
        //显示到顶级根节点
        private void btnUpRootNode_Click(object sender, RoutedEventArgs e)
        {
            TreeViewItem oldRootItem = memberTreeView.Items[0] as TreeViewItem;
            MyTreeNode   oldRootNode = oldRootItem.Tag as MyTreeNode;
            MyTreeNode   newRootNode = MyTrees.GetNodeBySysId(oldRootNode.TopId);

            if (isRingClose(newRootNode.SysId))
            {
                return;
            }

            List <MyTreeNode> parentNodes = MyTrees.FindToRootNodeList(oldRootNode.TopId);

            if (parentNodes.Count > 0)
            {
                //先移除旧的根节点
                memberTreeView.Items.Remove(oldRootItem);

                for (int i = 0; i < parentNodes.Count; i++)
                {
                    MyTreeNode node = parentNodes[i];
                    //添加新的根节点
                    TreeViewItem newRootItem = NewTreeViewItem(parentNodes[i]);
                    newRootItem.IsExpanded = true;
                    newRootItem.Items.Add(oldRootItem);

                    oldRootItem = newRootItem;
                }
            }

            memberTreeView.Items.Add(oldRootItem);

            btnUpLevelNode.IsEnabled = false;
            btnUpRootNode.IsEnabled  = false;
        }