Пример #1
0
        public static void InitModuleCatlog(TreeView View)
        {
            View.Nodes.Clear();
            TreeNode TopNode = new TreeNode();

            TopNode.Name = "";
            TopNode.Text = "模板列表";
            TopNode.SelectedImageIndex = 1;
            TopNode.ImageIndex         = 0;
            View.Nodes.Add(TopNode);
            DataSet   ds      = ModuleHelperClient.GetModuleCategoryAndModule();
            DataTable dt      = ds.Tables["dbo.sys_biz_ModuleCatlog"];
            DataTable sheetDT = ds.Tables["dbo.sys_module"];

            string strDeniedModuleIDs = "";
            //Yqun.Common.ContextCache.ApplicationContext.Current.DeniedModuleIDs;
            List <string> lstDeniedModuleIDs;

            if (!string.IsNullOrEmpty(strDeniedModuleIDs))
            {
                lstDeniedModuleIDs = new List <string>(strDeniedModuleIDs.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));
            }
            else
            {
                lstDeniedModuleIDs = new List <string>();
            }
            bool isDenied = false;

            if (dt != null && dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    TreeNode node = new TreeNode();
                    node.Name = row["CatlogCode"].ToString();
                    node.Text = row["CatlogName"].ToString();
                    node.SelectedImageIndex = 1;
                    node.ImageIndex         = 0;
                    node.Tag = false;
                    TopNode.Nodes.Add(node);
                    DataRow[] sheetRows = sheetDT.Select("CatlogCode like '" + row["CatlogCode"] + "%' ", "Name asc");
                    if (sheetRows != null && sheetRows.Length > 0)
                    {
                        foreach (DataRow r1 in sheetRows)
                        {
                            TreeNode n = new TreeNode();
                            n.Name = r1["ID"].ToString();
                            n.Text = r1["Name"].ToString();
                            n.SelectedImageIndex = 2;
                            n.ImageIndex         = 2;
                            n.Tag = true;
                            if (lstDeniedModuleIDs.Count > 0)
                            {
                                isDenied = false;
                                foreach (string item in lstDeniedModuleIDs)
                                {
                                    if (item == n.Name)
                                    {
                                        isDenied = true;
                                        break;
                                    }
                                }
                            }
                            if (isDenied == true)
                            {
                                continue;
                            }
                            else
                            {
                                node.Nodes.Add(n);
                            }
                        }
                    }
                }
            }
            View.ExpandAll();
        }