コード例 #1
0
ファイル: AppCtrl.cs プロジェクト: khanhdtn/my-office-manager
        public static DMTreeGroup InitTreeChonDienDan(PLDMTreeGroup tree, bool? IsAdd)
        {
            if (IsAdd == true)
            {
                tree.InitReadOnly("NAME", "V_DIEN_DAN_CHUYEN_MUC", null, "ID", "PARENT_ID",
               new string[] { "NAME" },
               new string[] { "Diễn đàn" });
            }
            else
            {

                tree.InitReadOnly("NAME", "V_DIEN_DAN_CHUYEN_MUC", null, "ID", "PARENT_ID",
                    new string[] { "NAME" },
                    new string[] { "Diễn đàn" });
            }
              string sql="";
            if (DienDanPermission.I.IsPermission==false)
            {
               sql= @"SELECT DD.ID,DD.NAME,DD.ID_CHA PARENT_ID,DD.ID_ROOT,DD.VISIBLE_BIT,'Y' IS_GROUP
                    FROM NHOM_DIEN_DAN DD WHERE DD.VISIBLE_BIT = 'Y'
                    UNION SELECT CM.ID,CM.NAME,CM.ID_NHOM_DIEN_DAN PARENT_ID,
                        (SELECT N.ID_ROOT FROM NHOM_DIEN_DAN N WHERE N.ID = CM.ID_NHOM_DIEN_DAN),
                        CM.VISIBLE_BIT,'N' IS_GROUP
                    FROM CHUYEN_MUC CM WHERE CM.VISIBLE_BIT = 'Y'";
            }
            else
            {
                string nddids = DienDanPermission.I._getPermissionResGroupStrIDs(PermissionOfResource.RES_PERMISSION_TYPE.READ);
                string cmids = DienDanPermission.I._getPermissionResStrIDs(PermissionOfResource.RES_PERMISSION_TYPE.READ);
                if (nddids == "") nddids = "-1";
                if (cmids == "") cmids = "-1";
                sql = @"SELECT DD.ID,DD.NAME,DD.ID_CHA PARENT_ID,DD.ID_ROOT,DD.VISIBLE_BIT,'Y' IS_GROUP
                    FROM NHOM_DIEN_DAN DD WHERE DD.VISIBLE_BIT = 'Y' and (dd.id=dd.ID_ROOT or dd.id in (" + nddids+ @")
                    or dd.id in (select cmuc.ID_NHOM_DIEN_DAN from CHUYEN_MUC cmuc where cmuc.id in (" + cmids + @")))
                    UNION SELECT CM.ID,CM.NAME,CM.ID_NHOM_DIEN_DAN PARENT_ID,
                        (SELECT N.ID_ROOT FROM NHOM_DIEN_DAN N WHERE N.ID = CM.ID_NHOM_DIEN_DAN),
                        CM.VISIBLE_BIT,'N' IS_GROUP
                    FROM CHUYEN_MUC CM WHERE CM.VISIBLE_BIT = 'Y' and cm.id in (" + cmids +")";
            }

            PopupContainerControl popup = tree.Controls["popupContainerControl1"] as PopupContainerControl;
            if (popup == null) return null;
            DMTreeGroup tr = popup.Controls["plGroupCatNew1"] as DMTreeGroup;
            if (tr == null) return null;
            foreach (TreeListColumn col in tr.TreeList_1.Columns)
            {
                col.OptionsColumn.AllowFocus = false;
            }
            tr.TreeList_1.DataSource= HelpDB.getDatabase().LoadDataSet(sql,"DIEN_DAN").Tables[0];

            DataTable dt = tr.TreeList_1.DataSource as DataTable;
            dt.DefaultView.Sort = "IS_GROUP DESC ,NAME ASC";

            return tr;
        }
コード例 #2
0
ファイル: AppCtrl.cs プロジェクト: khanhdtn/my-office-manager
        public static void InitTreeChonNhanVien_Choice1(PLDMTreeGroup tree, bool? IsAdd)
        {
            if (IsAdd == true)
            {
                tree.InitReadOnly("NAME", "V_PHONG_BAN_NHAN_VIEN_VISBLE", null, "ID", "PARENT_ID",
               new string[] { "NAME" },
               new string[] { "Nhân viên" });
            }
            else
            {

                tree.InitReadOnly("NAME", "V_PHONG_BAN_NHAN_VIEN", null, "ID", "PARENT_ID",
                    new string[] { "NAME" },
                    new string[] { "Nhân viên" });
            }
            PopupContainerControl popup = tree.Controls["popupContainerControl1"] as PopupContainerControl;
            if (popup == null) return;
            DMTreeGroup tr = popup.Controls["plGroupCatNew1"] as DMTreeGroup;
            if (tr == null) return;
            foreach (TreeListColumn col in tr.TreeList_1.Columns)
            {
                col.OptionsColumn.AllowFocus = false;
            }

            int IndexGroupImage = -1;
            int IndexImage = -1;
            int IndexRootImage = -1;
            tr.TreeList_1.SelectImageList = null;
            DataTable dt = tr.TreeList_1.DataSource as DataTable;
            ImageCollection imList = new ImageCollection();
            imList.ImageSize = new Size(20, 20);
            dt.DefaultView.Sort = "IS_GROUP DESC ,NAME ASC";
            Image rimg = ResourceMan.getImage("navNoiBaoHanh.png");
            Image gimg = ResourceMan.getImage("mnbKhachHangNhom.png");
            Image img = ResourceMan.getImage("mnbTTinKhachHang.png");
            if (gimg != null || img != null || rimg != null)
            {
                IndexRootImage = imList.Images.Add(rimg, "navNoiBaoHanh.png");
                IndexGroupImage = imList.Images.Add(gimg, "mnbKhachHangNhom.png");
                IndexImage = imList.Images.Add(img, "mnbTTinKhachHang.png");
                tr.TreeList_1.StateImageList = imList;
            }
            else tr.TreeList_1.StateImageList = null;
            tr.TreeList_1.OptionsView.ShowIndicator = false;

            tr.TreeList_1.GetStateImage += delegate(object sender, DevExpress.XtraTreeList.GetStateImageEventArgs e)
            {
                if (e.Node.Level == 0)
                {

                    e.Node.StateImageIndex = IndexRootImage;
                }
                else
                {
                    if (e.Node["IS_GROUP"].ToString() == "Y")
                    {
                        e.Node.StateImageIndex = IndexGroupImage;
                    }
                    else e.Node.StateImageIndex = IndexImage;
                }
            };
            tr.TreeList_1.FocusedNodeChanged += delegate(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
            {

                if (e.Node["IS_GROUP"].ToString() == "Y")
                {
                    tr.btnAdd.Owner.Items["btnSelect"].Enabled = false;
                }
                else
                {
                    tr.btnAdd.Owner.Items["btnSelect"].Enabled = true;

                }
            };
            long selected = -1;

            tree.popupContainerEdit1.Popup += delegate(object sender, EventArgs e)
               {
               selected = tree._getSelectedID();
               };
            tree.popupContainerEdit1.QueryCloseUp += delegate(object sender, System.ComponentModel.CancelEventArgs e)
            {
                if (tr.SelectedNode != null)
                {
                    if (tr.SelectedNode["IS_GROUP"].ToString() == "Y")
                    {
                        e.Cancel = true;
                        DevExpress.XtraTreeList.Nodes.TreeListNode n = tr.TreeList_1.FindNodeByFieldValue("ID", selected);
                        //if (n != null)
                        tr.SelectedNode = n;
                        tree._setSelectedID(selected);
                    }
                }
            };
        }