/// <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); } }
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); }
/// <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); } }
//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); }