Example #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="pidName"></param>
        /// <param name="pidText"></param>
        /// <param name="idName"></param>
        /// <param name="nameText"></param>
        /// <param name="img"></param>
        /// <param name="navigation"></param>
        /// <param name="setCheck">判断是否被选中</param>
        /// <returns></returns>
        public static List<TreeView> BindModuleTreeView(DataTable dt, string pidName, string pidText, string idName, string nameText, string img = null, string navigation = null, bool setCheck = false, bool isNotShowParentCheck = false)
        {
            List<TreeView> list = new List<TreeView>();

            DataView dv = new DataView(dt);
            TreeView tn;
            string filter = string.Format(pidName + "='{0}'", pidText);
            dv.RowFilter = filter;
            foreach (DataRowView drv in dv)
            {
                string id = drv[idName].ToString();
                tn = new TreeView//建立一个新节点
                {
                    id = id,//节点的ID
                    value=id,
                    text = drv[nameText].ToString(),//节点的Text,节点的文本显示
                    img = img != null ? "/Content/Images/Icon16/" + drv[img].ToString() : string.Empty,
                    Location = navigation != null ? drv[navigation].ToString() : string.Empty,
                    parentnodes = drv[pidName].ToString(),
                    isexpand = true,
                    complete = true
                };

                if (setCheck)
                {
                    tn.checkstate = drv["checkstate"].ToString();
                }

                List<TreeView> list2 = BindModuleTreeView(dt, pidName, id, idName, nameText, img, navigation, setCheck, isNotShowParentCheck);
                if (list2.Count > 0)
                {
                    tn.hasChildren = true;
                    tn.ChildNodes = list2;
                    if (isNotShowParentCheck)
                    {
                        tn.showcheck = false;

                    }
                    //tn.cascadecheck = false;
                }

                list.Add(tn);
            }
            return list;
        }
Example #2
0
        public static List<TreeView> BindModuleAndButtonTreeView(DataTable dtModule,DataTable dtButton, string pidName, string pidText, string idName, string nameText, string img = null)
        {
            List<TreeView> list = new List<TreeView>();

             DataView dv = new DataView(dtModule);
             TreeView tn;
             string filter = string.Format(pidName + "='{0}'", pidText);
             dv.RowFilter = filter;
             foreach (DataRowView drv in dv)
             {
                 string id = drv[idName].ToString();
                 tn = new TreeView//建立一个新节点
                 {
                     id = id,//节点的ID
                     value = id,
                     text = drv[nameText].ToString(),//节点的Text,节点的文本显示
                     img = img != null ? "/Content/Images/Icon16/" + drv[img].ToString() : string.Empty,
                     parentnodes = drv[pidName].ToString(),
                     isexpand = true,
                     complete = true
                 };

                 List<TreeView> list2 = BindModuleAndButtonTreeView(dtModule,dtButton, pidName, id, idName, nameText, img);
                 if (list2.Count > 0)
                 {
                     tn.hasChildren = true;
                     tn.ChildNodes = list2;
                 }
                 else
                 {
                     string filterButton = string.Format("moduleid" + "='{0}'", id);
                     DataView dvButton = new DataView(dtButton);

                     dvButton.RowFilter = filterButton;
                     if (dvButton.Count>0)
                     {
                         List<TreeView> listButton = new List<TreeView>();
                         foreach (DataRowView drvButton in dvButton)
                         {

                             string category = drvButton["category"].ToString() == "1" ? "工具栏" : "右键";
                             TreeView tnButton = new TreeView//建立一个新节点
                             {
                                 id = drvButton["ButtonId"].ToString(),
                                 value = drvButton["ButtonId"].ToString(),

                                 text = drvButton["FullName"].ToString() + "(" + category + ")",//节点的Text,节点的文本显示
                                 img = img != null ? "/Content/Images/Icon16/" + drvButton["Icon"].ToString() : string.Empty,
                                 parentnodes = id,
                                 isexpand = true,
                                 complete = true
                             };

                             listButton.Add(tnButton);
                         }

                         tn.hasChildren = true;
                         tn.ChildNodes = listButton;
                     }
                 }

                 list.Add(tn);
             }
             return list;
        }
Example #3
0
        public static List<TreeView> BindOrganizationTreeView(DataTable dt, string pidName, string pidText, string idName, string nameText, string img = null, string navigation = null)
        {
            List<TreeView> list = new List<TreeView>();

            DataView dv = new DataView(dt);
            TreeView tn;
            string filter = string.Format(pidName + "='{0}'", pidText);
            dv.RowFilter = filter;
            foreach (DataRowView drv in dv)
            {
                string id = drv[idName].ToString();

                string imgTmp = string.Empty;
                switch (drv["category"].ToString())
                {
                    case "0"://公司
                        imgTmp = "molecule.png";
                        break;
                    case "1"://部门
                        imgTmp = "hostname.png";

                        break;
                }
                tn = new TreeView//建立一个新节点
                {
                    id = id,//节点的ID
                    text = drv[nameText].ToString(),//节点的Text,节点的文本显示
                    img = imgTmp != string.Empty ? "/Content/Images/Icon16/" + imgTmp : imgTmp,
                    Location = navigation != null ? drv[navigation].ToString() : string.Empty,
                    parentnodes = drv[pidName].ToString(),
                    isexpand = true,
                    complete = true
                };

                List<TreeView> list2 = BindOrganizationTreeView(dt, pidName, id, idName, nameText, img, navigation);
                if (list2.Count > 0)
                {
                    tn.hasChildren = true;
                    tn.ChildNodes = list2;
                }

                list.Add(tn);
            }
            return list;
        }