Ejemplo n.º 1
0
        private void lnkDelete_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (lstLayoutNames.SelectedItems.Count == 0)
            {
                MessageBox.Show("请选择需要删除的项");
                return;
            }

            List <GridLayoutInfo> deleteList = new List <GridLayoutInfo>();

            foreach (ListViewItem item in lstLayoutNames.SelectedItems)
            {
                var gridLayoutInfo = _GridLayoutList.Find(o => o.Name.Equals(item.Text));
                if (gridLayoutInfo == null)
                {
                    continue;
                }

                deleteList.Add(gridLayoutInfo);
                _GridLayoutList.Remove(gridLayoutInfo);
            }

            _CurGridLayoutMain._GridLayoutList = _GridLayoutList;
            try
            {
                saveLayoutInfo();

                foreach (var data in deleteList)
                {
                    DevExpress.XtraGrid.GridControl grid = _XtraGrid as DevExpress.XtraGrid.GridControl;
                    if (grid != null)
                    {
                        GridLayoutManager.DeleteXtraGridState(grid, data);
                    }
                    else
                    {
                        PivotGridEx pGrid = _XtraGrid as PivotGridEx;
                        PivotGridHelper.Instance.DeletePivotGridLayout(_ContainerForm, pGrid, data);
                    }
                }
                foreach (ListViewItem item in lstLayoutNames.SelectedItems)
                {
                    lstLayoutNames.Items.Remove(item);
                }
                setDefaultLayout();

                //是否需要设置成第一项值?
                //if (lstLayoutNames.Items.Count > 0)
                //{
                //    var gridLayoutInfo = _GridLayoutList.Find(o => o.Name.Equals(lstLayoutNames.Items[0].Text));
                //    GridLayoutManager.RestoreXtraGridState(_XtraGrid, gridLayoutInfo);
                //}
            }
            catch (Exception ex)
            {
                MB.Util.TraceEx.Write(string.Format("删除布局失败,错误信息为:{0}", ex.Message));
                throw new MB.Util.APPException(string.Format("删除布局失败,错误信息为:{0}", ex.Message), Util.APPMessageType.DisplayToUser);
            }
        }
Ejemplo n.º 2
0
        public frmGridLayoutManager(DevExpress.XtraGrid.GridControl xtraGrid)
        {
            InitializeComponent();

            _XtraGrid = xtraGrid;

            _GridLayoutSectionName = GridLayoutManager.GetXtraGridLayoutSectionName(xtraGrid);

            this.Load += new EventHandler(frmGridLayoutManager_Load);
            this.txtLayoutName.KeyDown += new KeyEventHandler(txtLayoutName_KeyDown);

            lstLayoutNames.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(lstLayoutNames_ItemSelectionChanged);
        }
Ejemplo n.º 3
0
        private void lnkAdd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (string.IsNullOrEmpty(txtLayoutName.Text))
            {
                MessageBoxEx.Show("网格布局名称不能为空,请输入");
                txtLayoutName.Focus();
                return;
            }

            if (_GridLayoutList != null && _GridLayoutList.Exists(o => o.Name.Equals(txtLayoutName.Text)))
            {
                MessageBoxEx.Show("网格布局名称已存在,请重新输入");
                txtLayoutName.Focus();
                return;
            }

            //保存信息
            GridLayoutInfo gridLayoutInfo = new GridLayoutInfo();

            gridLayoutInfo.Name       = txtLayoutName.Text;
            gridLayoutInfo.CreateTime = DateTime.Now;
            _GridLayoutList.Add(gridLayoutInfo);

            _CurGridLayoutMain._GridLayoutList = _GridLayoutList;
            try
            {
                saveLayoutInfo();
                DevExpress.XtraGrid.GridControl grid = _XtraGrid as DevExpress.XtraGrid.GridControl;
                if (grid != null)
                {
                    GridLayoutManager.SaveXtraGridState(grid, gridLayoutInfo);
                }
                else
                {
                    PivotGridEx pGrid = _XtraGrid as PivotGridEx;
                    PivotGridHelper.Instance.SavePivotGridLayout(_ContainerForm, pGrid);
                }

                lstLayoutNames.Items.Insert(0, new ListViewItem(txtLayoutName.Text));
                setDefaultLayout();

                txtLayoutName.Text = string.Empty;
            }
            catch (Exception ex)
            {
                MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex);
            }
        }
Ejemplo n.º 4
0
        private void butSave_Click(object sender, EventArgs e)
        {
            if (lstLayoutNames.SelectedItems.Count == 0 || lstLayoutNames.SelectedItems.Count > 1)
            {
                MessageBox.Show("请选择一个当前应用的项");
                return;
            }
            var gridLayoutInfo = _GridLayoutList.Find(o => o.Name.Equals(lstLayoutNames.SelectedItems[0].Text));

            if (gridLayoutInfo == null)
            {
                return;
            }

            try
            {
                gridLayoutInfo.CreateTime = DateTime.Now;
                saveLayoutInfo();
                DevExpress.XtraGrid.GridControl grid = _XtraGrid as DevExpress.XtraGrid.GridControl;
                if (grid != null)
                {
                    GridLayoutManager.RestoreXtraGridState(grid, gridLayoutInfo);
                }
                else
                {
                    PivotGridEx pGrid = _XtraGrid as PivotGridEx;
                    PivotGridHelper.Instance.RestoreLayout(pGrid, _ContainerForm.ClientRuleObject);
                }
            }
            catch (Exception ex)
            {
                MB.Util.TraceEx.Write(string.Format("应用布局失败,错误信息为:{0}", ex.Message));
                throw new MB.Util.APPException(string.Format("应用布局失败,错误信息为:{0}", ex.Message), Util.APPMessageType.DisplayToUser);
            }

            this.Close();
        }