Пример #1
0
        /// <summary>
        /// 获取树的节点,跟其他方法合用
        /// </summary>
        /// <param name="nodes">TreeNodeCollection</param>
        /// <param name="nodeID">要查询的节点</param>
        /// 用递归的方法读取树
        /// </summary>
        /// <param name="treeView">需要把数据绑定到的TreeView控件</param>
        /// <param name="tableName">树的数据所在的表</param>
        public void GetFileTree(TreeView treeView, string fileRecording_templet, string cell_tempet, bool withImage, string projectNo, bool IsCount, bool isAll, FileStatus treeEnum)
        {
            treeView.Nodes.Clear();
            ERM.CBLL.FileRegist cbll = new ERM.CBLL.FileRegist();
            if (treeEnum == FileStatus.Full)
            {
                ds = cbll.RegistGetNewFileRecording_Templet(projectNo);
            }
            else
            {
                ds = FilterData(ds, treeEnum);
            }
            CellTreesData treesData = new CellTreesData();

            dsArchive = treesData.GetArchives(projectNo);
            if (ds != null)
            {
                DataView dataView = new DataView(ds.Tables[0]);
                dataView.RowFilter = "id='01'";
                if (dataView.Count == 0)
                {
                    return;
                }
                string     nodeID     = "";
                string     title      = "";
                string     codeno     = "";
                int        imageindex = 0;
                TreeNodeEx node;
                nodeID    = dataView[0]["ParentPath"].ToString(); //节点唯一ID
                title     = dataView[0]["title"].ToString();      //标题
                codeno    = dataView[0]["id"].ToString();         //表格代码
                node      = new TreeNodeEx();
                node.Name = "01";                                 //节点唯一ID,用来检索
                node.Text = title;                                //标题
                if (withImage)
                {
                    node.ImageIndex         = imageindex;
                    node.SelectedImageIndex = imageindex;
                }
                treeView.BeginUpdate();
                treeView.Nodes.Add(node);
                if (string.IsNullOrEmpty(nodeID))
                {
                    nodeID = dataView[0]["treepath"].ToString();
                }
                LoadFileChildNodes(node.Nodes, codeno, withImage, IsCount, isAll);
                treeView.EndUpdate();
                treeView.Nodes[0].Expand();
                ds = null;
            }
        }
Пример #2
0
        private DataSet FilterDataWithNoNode(DataSet NewData)
        {
            ERM.CBLL.CellTreesData CBLL = new CellTreesData();
            List <string>          list = new List <string>();

            DataRow[] rows = NewData.Tables[0].Select("imageindex = 2");
            if (rows.Length > 0)
            {
                list = FilterDataByPath(rows, list, NewData);
                string    path    = SetList2SqlIn(list);
                DataRow[] NewRows = NewData.Tables[0].Select("treepath not in (" + path + ")");
                foreach (DataRow dr in NewRows)
                {
                    NewData.Tables[0].Rows.Remove(dr);
                }
                return(NewData);
            }
            return(null);
        }