Example #1
0
        /// 用递归的方法读取树
        /// </summary>
        /// <param name="treeView">需要把数据绑定到的TreeView控件</param>
        /// <param name="tableName">树的数据所在的表</param>
        public void GetTree(TreeView treeView, string fileRecording_templet, string cell_tempet, bool withImage, string projectNo, bool IsAll)
        {
            treeView.Nodes.Clear();

            ds = vars.GetTrees(true, Globals.OpenedProjectNo);
            //DataColumn[] tColumns = new DataColumn[1];
            //tColumns[0] = ds.Tables[0].Columns["parentid"];
            //ds.Tables[0].PrimaryKey = tColumns;
            //dsArchive = vars.GetArchives();
            DataView dataView = new DataView(ds.Tables[0]);

            dataView.RowFilter = "id='01'";
            if (dataView.Count == 0)
            {
                return;
            }

            DataRowView tRow = dataView[0];

            DigiPower.ERM.Model.FileRecording_Templet M_FileRecording_Templet = this.Command_GetFile(tRow);//获取文件对象模型


            //新建节点
            TreeNodeEx node = new TreeNodeEx();


            node.Name    = M_FileRecording_Templet.id;                        //节点唯一ID,用来检索
            node.Text    = M_FileRecording_Templet.gdwj;                      //标题
            node.Tag     = M_FileRecording_Templet;                           //是否最后一个节点,范例路径,是否用户定义表格,附件
            node.Checked = M_FileRecording_Templet.isvisible == 1?true:false; //是否可见

            if (withImage)
            {
                node.ImageIndex         = 0; //0为根目录图片号
                node.SelectedImageIndex = 0; //0为根目录图片号
            }

            //添加节点
            treeView.BeginUpdate();

            treeView.Nodes.Add(node);

            //添加子节点
            LoadChildNodes(node, node.Name, withImage, IsAll);

            node.IsFirstExpand = false;
            treeView.EndUpdate();

            //展开根节点
            treeView.Nodes[0].Expand();

            //销毁
            //ds = null;
        }
Example #2
0
 private DigiPower.ERM.Model.FileRecording_Templet Command_GetFile(DataRowView tRow)
 {
     //获取数据
     DigiPower.ERM.Model.FileRecording_Templet M_FileRecording_Templet = new DigiPower.ERM.Model.FileRecording_Templet();
     M_FileRecording_Templet.id         = tRow["id"].ToString();               //节点唯一ID
     M_FileRecording_Templet.gdwj       = tRow["title"].ToString();            //标题
     M_FileRecording_Templet.zrr        = tRow["zrr"].ToString();              //责任人
     M_FileRecording_Templet.orderindex = Convert.ToInt32(tRow["orderindex"]); //顺序号
     M_FileRecording_Templet.isvisible  = Convert.ToInt32(tRow["isvisible"]);  //是否可见
     M_FileRecording_Templet.gclx       = tRow["gclx"].ToString();
     M_FileRecording_Templet.jsdw       = tRow["jsdw"].ToString();
     M_FileRecording_Templet.jldw       = tRow["jldw"].ToString();
     M_FileRecording_Templet.sgdw       = tRow["sgdw"].ToString();
     M_FileRecording_Templet.sjdw       = tRow["sjdw"].ToString();
     M_FileRecording_Templet.wjmj       = tRow["wjmj"].ToString();
     M_FileRecording_Templet.cjdag      = tRow["cjdag"].ToString();
     M_FileRecording_Templet.table_name = tRow["table_name"].ToString();
     M_FileRecording_Templet.projectno  = CPROJECTNO;
     return(M_FileRecording_Templet);
 }
Example #3
0
        /// <summary>
        /// 获取树的节点,跟其他方法合用
        /// </summary>
        /// <param name="nodes">TreeNodeCollection</param>
        /// <param name="nodeID">要查询的节点</param>
        private void LoadChildNodes(TreeNodeEx pParentNode, string parentID, bool withImage, bool IsAll)
        {
            if (ds == null)
            {
                return;
            }
            DataView dataView = new DataView(ds.Tables[0]);

            dataView.RowFilter = "ParentID='" + parentID + "'";

            TreeNodeEx[] tNodes      = new TreeNodeEx[dataView.Count];
            int          tNodesCount = 0;

            foreach (DataRowView drv in dataView)
            {
                TreeNodeEx node = new TreeNodeEx();
                if (this.Command_IsSelectFile(Convert.ToInt32(drv["imageindex"])))
                {
                    DigiPower.ERM.Model.FileRecording_Templet M_FileRecording_Templet = this.Command_GetFile(drv); //获取文件对象模型
                    node.Name    = M_FileRecording_Templet.id;                                                     //节点唯一ID,用来检索
                    node.Text    = M_FileRecording_Templet.gdwj;                                                   //标题
                    node.Tag     = M_FileRecording_Templet;                                                        //是否最后一个节点,范例路径,是否用户定义表格,附件
                    node.Checked = M_FileRecording_Templet.isvisible == 1 ? true : false;                          //是否可见
                }
                else if (this.Command_IsSelectModel(Convert.ToInt32(drv["imageindex"])))
                {
                    DigiPower.ERM.Model.Cell_Templet M_Cell_Templet = this.Command_GetModel(drv); //获取文件对象模型
                    node.Name      = M_Cell_Templet.id;                                           //节点唯一ID,用来检索
                    node.Text      = M_Cell_Templet.title;                                        //标题
                    node.Tag       = M_Cell_Templet;                                              //是否最后一个节点,范例路径,是否用户定义表格,附件
                    node.Checked   = M_Cell_Templet.isvisible == 1 ? true : false;                //是否可见
                    node.NodeKey   = M_Cell_Templet.codeno;
                    node.NodeValue = M_Cell_Templet.filepath;
                }
                else if (this.Command_IsSelectRoot(Convert.ToInt32(drv["imageindex"])))
                {
                    DigiPower.ERM.Model.FileRecording_Templet M_FileRecording_Templet = this.Command_GetFile(drv); //获取文件对象模型
                    node.Name    = M_FileRecording_Templet.id;                                                     //节点唯一ID,用来检索
                    node.Text    = M_FileRecording_Templet.gdwj;                                                   //标题
                    node.Tag     = M_FileRecording_Templet;                                                        //是否最后一个节点,范例路径,是否用户定义表格,附件
                    node.Checked = M_FileRecording_Templet.isvisible == 1 ? true : false;                          //是否可见
                }

                if (withImage)
                {
                    node.ImageIndex         = Convert.ToInt32(drv["imageindex"]);
                    node.SelectedImageIndex = Convert.ToInt32(drv["imageindex"]);
                }

                node.Text = drv["title"].ToString();
                if (node.ImageIndex != 2)
                {
                    if (IsAll)
                    {
                        LoadChildNodes(node, node.Name, true, true);
                        node.IsFirstExpand = false;
                    }
                    else
                    {
                        TreeNodeEx node1 = new TreeNodeEx();

                        node1.Name = "临时数据";
                        node1.Text = "临时数据";
                        node.Nodes.Add(node1);
                    }
                }
                tNodes.SetValue(node, tNodesCount++);
            }
            if (80 < tNodes.Length)  //如果其含有的子节点数大于80个,启动BeginUpdate方法
            {
                pParentNode.TreeView.BeginUpdate();
                pParentNode.Nodes.AddRange(tNodes);
                pParentNode.TreeView.EndUpdate();
            }
            else
            {
                pParentNode.Nodes.AddRange(tNodes);
            }
        }