/// <summary> /// 创建高级查询控件。 /// </summary> /// <param name="viewGridForm"></param> public void IniLoadFilterControl(IClientRuleQueryBase clientRuleObject, DevExpress.XtraGrid.GridControl mainGridCtl) { try { if (_FilterControl == null) { DevExpress.XtraGrid.Views.Grid.GridView gridView = mainGridCtl.DefaultView as DevExpress.XtraGrid.Views.Grid.GridView; _FilterControl = new XGridFilterControl(clientRuleObject.UIRuleXmlConfigInfo.GetDefaultColumns()); DevExpress.XtraEditors.Filtering.FilterColumnCollection filterColumns = new DevExpress.XtraGrid.FilterEditor.ViewFilterColumnCollection(gridView); var createColumns = createFilterColumn(clientRuleObject, filterColumns); _FilterControl.SortFilterColumns = false; _FilterControl.SetFilterColumnsCollection(createColumns, mainGridCtl.MenuManager); _FilterControl.ShowOperandTypeIcon = gridView.OptionsFilter.UseNewCustomFilterDialog; _FilterControl.Dock = DockStyle.Fill; panMain.Controls.Add(_FilterControl); _TemplateEditHelper = new FilterTemplateEditHelper(clientRuleObject, cobFilterTemplate); //加载模板 _FilterTemplates = _TemplateEditHelper.LoadFilterTemplate(); } _FilterControl.BringToFront(); } catch (Exception e) { MB.Util.TraceEx.Write("加载高级查询出错:" + e.Message); throw new MB.Util.APPException("当前模块可能还没有提供相应的高级查询功能,请检查相应的配置信息!", MB.Util.APPMessageType.DisplayToUser); } }
public Form1() { InitializeComponent(); InitData(); gridControl1.DataSource = dv; DevExpress.XtraGrid.FilterEditor.ViewFilterColumnCollection columnCollection = new DevExpress.XtraGrid.FilterEditor.ViewFilterColumnCollection(gridView1); RepositoryItemPopupContainerEdit ri = new RepositoryItemPopupContainerEdit(); ri.PopupControl = popupContainerControl1; ri.CloseOnOuterMouseClick = false; ri.QueryResultValue += new DevExpress.XtraEditors.Controls.QueryResultValueEventHandler(ri_QueryResultValue); ri.QueryPopUp += new CancelEventHandler(ri_QueryPopUp); columnCollection["Date"].SetColumnEditor(ri); columnCollection["ID"].SetColumnEditor(new RepositoryItemCalcEdit()); filterControl1.SetFilterColumnsCollection(columnCollection); }