Exemple #1
0
        /// <summary>
        /// 绑定动态列处理相关。
        /// </summary>
        /// <param name="activeColumnIsBand"></param>
        /// <param name="activeColumnNames"></param>
        public UIDynamicColumnBinding(MB.XWinLib.XtraGrid.GridControlEx gridControl, string xmlFileName)
        {
            try {
                _XtraGrid = gridControl;
                _XtraGrid.BeforeContextMenuClick += new MB.XWinLib.XtraGrid.GridControlExMenuEventHandle(_XtraGrid_BeforeContextMenuClick);
                _AdvBandGridView = _XtraGrid.DefaultView as DevExpress.XtraGrid.Views.BandedGrid.BandedGridView;
                if (_AdvBandGridView == null)
                {
                    throw new MB.Util.APPException("UIDynamicColumnBinding 绑定时出错,DefaultView 需要修改为BandedGridView ", Util.APPMessageType.SysErrInfo);
                }
                //_AdvBandGridView.OptionsSelection.MultiSelect = true;
                //_AdvBandGridView.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect;


                _AdvBandGridView.FocusedRowChanged           += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(_AdvBandGridView_FocusedRowChanged);
                _AdvBandGridView.CustomDrawCell              += new DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventHandler(_AdvBandGridView_CustomDrawCell);
                _AdvBandGridView.CustomRowCellEditForEditing += new DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventHandler(_AdvBandGridView_CustomRowCellEditForEditing);
                _AdvBandGridView.CustomRowFilter             += new RowFilterEventHandler(_AdvBandGridView_CustomRowFilter);

                _AdvBandGridView.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(_AdvBandGridView_CellValueChanged);

                _CurrentXmlFileName = xmlFileName;
                _ColPropertys       = MB.WinBase.LayoutXmlConfigHelper.Instance.GetColumnPropertys(xmlFileName);
                _EditCols           = MB.WinBase.LayoutXmlConfigHelper.Instance.GetColumnEdits(_ColPropertys, xmlFileName);

                _Timer          = new Timer();
                _Timer.Enabled  = false;
                _Timer.Tick    += new EventHandler(_Timer_Tick);
                _Timer.Interval = 100;
            }
            catch (Exception ex) {
                throw new MB.Util.APPException("UIDynamicColumnBinding 绑定时出错:" + ex.Message, Util.APPMessageType.SysErrInfo);
            }
        }
Exemple #2
0
        private DynamicGroupCfgInfo _DynamicCfgInfo;             //动态聚组的配置

        #region 构造函数
        /// <summary>
        /// 构造实例
        /// </summary>
        /// <param name="clientRuleObject">客户端UI Rule</param>
        /// <param name="girdControl">用于显示的Grid Control</param>
        public DynamicGroupUIHelper(IClientRuleQueryBase clientRuleObject,
                                    MB.XWinLib.XtraGrid.GridControlEx girdControl)
        {
            _ClientRuleObject         = clientRuleObject;
            _GirdControl              = girdControl;
            _UIXmlHelper              = LayoutXmlConfigHelper.Instance;
            _DynamicGroupConfigHelper = new DynamicGroupCfgHelper(_ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile);
            _DynamicCfgInfo           = _DynamicGroupConfigHelper.LoadDynamicGroupCfg(_ClientRuleObject);
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="xtraGrid"></param>
        /// <param name="menuTypes"></param>
        public XtraContextMenu(GridControlEx xtraGrid, XtraContextMenuType menuTypes)
        {
            _XtraGrid = xtraGrid;

            _GridMenu = new System.Windows.Forms.ContextMenu();
            if (xtraGrid.ParentForm != null)
            {
                _ContainerForm = xtraGrid.ParentForm as MB.WinBase.IFace.IForm;
            }

            CreateMenuItems(menuTypes);
        }
        /// <summary>
        /// 设置grid的编辑方式。
        /// </summary>
        /// <param name="xtraGrid"></param>
        /// <param name="autoNewRow"></param>
        public void SetGridViewNewItem(DevExpress.XtraGrid.GridControl xtraGrid, bool autoNewRow, XtraContextMenuType appendMenus) {
            DevExpress.XtraGrid.Views.Grid.GridView gridView = xtraGrid.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
            if (gridView == null)
                return;
            gridView.OptionsView.NewItemRowPosition = autoNewRow ? DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom : DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None;
            gridView.OptionsNavigation.AutoFocusNewRow = autoNewRow;
            gridView.OptionsNavigation.AutoMoveRowFocus = true;
            gridView.OptionsNavigation.EnterMoveNextColumn = true;


            //重新设置弹出菜单的操作项。
            GridControlEx grdEx = xtraGrid as GridControlEx;
            if (grdEx != null) {
                grdEx.ReSetContextMenu(appendMenus);
            }
        }
Exemple #5
0
        //add by aifang 2012-5-16
        public static string GetXtraGridLayoutSectionName(DevExpress.XtraGrid.GridControl xtraGrid)
        {
            DevExpress.XtraGrid.Views.Grid.GridView gridView = xtraGrid.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
            if (gridView == null)
            {
                return(string.Empty);
            }

            string sectionName = string.Empty;

            MB.XWinLib.XtraGrid.GridControlEx ctlEx = xtraGrid as MB.XWinLib.XtraGrid.GridControlEx;
            if (ctlEx != null && ctlEx.InstanceIdentity != Guid.Empty)
            {
                sectionName = ctlEx.InstanceIdentity.ToString();
            }
            else
            {
                System.Windows.Forms.Form frm = MB.WinBase.ShareLib.Instance.GetControlParentForm(xtraGrid);
                if (frm == null)
                {
                    return(string.Empty);
                }
                else
                {
                    sectionName = frm.GetType().FullName + " " + xtraGrid.Name;

                    MB.WinBase.IFace.IForm busFrm = frm as MB.WinBase.IFace.IForm;
                    if (busFrm != null && busFrm.ClientRuleObject != null)
                    {
                        sectionName = frm.GetType().FullName + " " + busFrm.ClientRuleObject.GetType().FullName + " "
                                      + busFrm.ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile + " " + xtraGrid.Name;
                    }
                }
            }

            return(sectionName);
        }