コード例 #1
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);
                    }
                }
            };
        }
コード例 #2
0
        /// <summary>
        /// Permission for control(property Enable "True" or "False"). 
        /// Uses this because the Framework do not support.
        /// </summary>
        /// <param name="control">control for appling permission</param>
        /// <param name="adminPermission"></param>
        /// <param name="editorPermission"></param>
        public static void PermissionForControl(PLDMTreeGroup control,bool adminPermission,bool editorPermission)
        {
            if (adminPermission) control.Visible = true;
            else if (editorPermission) control.Visible = true;
            else {
                control.Visible = true;
                control.Enabled = false;
            }

            if (control._getSelectedID() == -1)
                control._setSelectedID(FrameworkParams.currentUser.employee_id);
        }