protected override void LoadObjectData(MB.Util.Model.QueryParameterInfo[] queryParams) { if (_ClientRuleObject == null) { throw new MB.Util.APPException("在加载浏览窗口<DefaultViewForm>时 需要配置对应的ClientRule 类!"); } if (_ClientRuleObject.ClientLayoutAttribute == null) { throw new MB.Util.APPException(string.Format("对于客户段逻辑类 {0} ,需要配置 RuleClientLayoutAttribute.", _ClientRuleObject.GetType().FullName)); } try { //添加右键菜单扩展 add by aifang 2012-07-19 begin if (_ClientRuleObject.ReSetContextMenu != null && _ClientRuleObject.ReSetContextMenu.MenuItems.Count > 0) { grdCtlMain.ContextMenu = _ClientRuleObject.ReSetContextMenu; } //end gridViewMain.RowHeight = MB.WinBase.LayoutXmlConfigHelper.Instance.GetMainGridViewRowHeight(_ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile); using (MB.WinBase.WaitCursor cursor = new MB.WinBase.WaitCursor(this)) { using (MB.Util.MethodTraceWithTime timeTrack = new MethodTraceWithTime(null)) { if (!tabCtlMain.SelectedTab.Equals(tPageDynamicGroup)) { #region 非动态聚组下的查询 //特殊说明 2009-02-20 在这里需要增加 RefreshLookupDataSource 以便在加载数据ID 时能得到对应的描述信息。 int rowCount = 0; int dbRecordCount = 0; string messageHeaderKey = string.Empty; //添加动态列消息头 XtraGridDynamicHelper.Instance.AppendQueryBehaviorColumns(_ClientRuleObject); Dictionary <string, ColumnPropertyInfo> bindingPropertys = XtraGridDynamicHelper.Instance.GetDynamicColumns(_ClientRuleObject); //加载额外的列,通过继承当前窗口有并重写方法LoadExtraColumns的方式去加载 Dictionary <string, ColumnPropertyInfo> extraColumns = LoadExtraColumns(); if (extraColumns != null && extraColumns.Count > 0) { foreach (KeyValuePair <string, ColumnPropertyInfo> extraCol in extraColumns) { if (!bindingPropertys.ContainsKey(extraCol.Key)) { bindingPropertys.Add(extraCol.Key, extraCol.Value); } } } if (_ClientRuleObject.ClientLayoutAttribute.LoadType == ClientDataLoadType.ReLoad) { messageHeaderKey = _ClientRuleObject.ClientLayoutAttribute.MessageHeaderKey; } if (_ClientRuleObject.ClientLayoutAttribute.CommunicationDataType == CommunicationDataType.DataSet) { DataSet dsData = null; try { using (QueryBehaviorScope scope = new QueryBehaviorScope(_ClientRuleObject.CurrentQueryBehavior, messageHeaderKey)) { //指定是否需要显示页数 QueryBehaviorScope.CurQueryBehavior.IsTotalPageDisplayed = this.IsTotalPageDisplayed; dsData = _ClientRuleObject.GetObjectAsDataSet((int)_ClientRuleObject.MainDataTypeInDoc, queryParams); string queryRefreshTotalPage = getTotalPageAndCurrentpage(dsData.Tables[0].Rows.Count, out dbRecordCount); AppMessenger.DefaultMessenger.Publish(QUERY_REFRESH_TOTAL_PAGE_ID, queryRefreshTotalPage); #region 得到自定义网格页脚汇总列的信息 if (dsData.Tables[0].Rows.Count > 0) { _CustomFootSummaryCols = getCustomSummaryColValues(queryParams); } #endregion } } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, " GetObjectAsDataSet 出错!"); } rowCount = dsData.Tables[0].Rows.Count; MB.XWinLib.XtraGrid.XtraGridHelper.Instance.BindingToXtraGrid(grdCtlMain, dsData, bindingPropertys, _ClientRuleObject.UIRuleXmlConfigInfo.ColumnsCfgEdit, _ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile, true); } else { IList lstDatas = null; try { MB.WinBase.InvokeMethodWithWaitCursor.InvokeWithWait(() => { using (QueryBehaviorScope scope = new QueryBehaviorScope(_ClientRuleObject.CurrentQueryBehavior, messageHeaderKey)) { //指定是否需要显示页数 QueryBehaviorScope.CurQueryBehavior.IsTotalPageDisplayed = this.IsTotalPageDisplayed; lstDatas = _ClientRuleObject.GetObjects((int)_ClientRuleObject.MainDataTypeInDoc, queryParams); string queryRefreshTotalPage = getTotalPageAndCurrentpage(lstDatas.Count, out dbRecordCount); AppMessenger.DefaultMessenger.Publish(QUERY_REFRESH_TOTAL_PAGE_ID, queryRefreshTotalPage); #region 得到自定义网格页脚汇总列的信息 if (lstDatas.Count > 0) { _CustomFootSummaryCols = getCustomSummaryColValues(queryParams); } #endregion } }); } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, " GetObjects 出错!"); } rowCount = lstDatas.Count; if (_BindingSource == null || _IsReloadData) { IBindingList bl = _ClientRuleObject.CreateMainBindList(lstDatas); _BindingSource = new MB.WinBase.Binding.BindingSourceEx(); _BindingSource.DataSource = bl; MB.XWinLib.XtraGrid.XtraGridHelper.Instance.BindingToXtraGrid(grdCtlMain, _BindingSource, bindingPropertys, _ClientRuleObject.UIRuleXmlConfigInfo.ColumnsCfgEdit, _ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile, true); //每次重新加载完以后,清空动态列的条件,比避免重复加载 this._IsReloadData = false; } else { MB.XWinLib.XtraGrid.XtraGridHelper.Instance.RefreshDataGrid(grdCtlMain, lstDatas); } } _ClientRuleObject.BindingSource = _BindingSource; var msg = string.Format("查询花费:{0} 毫秒,返回 {1} 记录,查询时间:{2}", timeTrack.GetExecutedTimes(), rowCount, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); AppMessenger.DefaultMessenger.Publish(QUERY_REFRESH_MSG_ID, msg); validatedPageControl(rowCount, dbRecordCount); #endregion } else { var dynamicGroupSetting = _DynamicGroupSettings; if (dynamicGroupSetting == null) { throw new APPException("动态聚组查询,聚组条件不能为空"); } DataSet ds = _ClientRuleObject.GetDynamicGroupQueryData(dynamicGroupSetting, queryParams); ucDynamicGroupResultInQuery.BindDynamicResultQueryResult(ds, _ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile); } } } } catch (MB.Util.APPException aex) { throw aex; } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "在浏览窗口Form_Load 时出错!"); } if ((_ClientRuleObject.ClientLayoutAttribute.DataViewStyle & DataViewStyle.Multi) == 0) { tabCtlMain.TabPages.Remove(tPageMultiView); } }
private DataSet getDataObjects(DoWorkEventArgs e) { MemoryStream stream = new MemoryStream(); int count = 0; _WorkThread.ReportProgress(0, LoadDataProcessState.BeginInvoke); //添加动态列消息头 XtraGridDynamicHelper.Instance.AppendQueryBehaviorColumns(_AsynQueryRule); try { //添加动态列消息头信息 string messageHeaderKey = string.Empty; if (_AsynQueryRule.ClientLayoutAttribute.LoadType == ClientDataLoadType.ReLoad) { messageHeaderKey = _AsynQueryRule.ClientLayoutAttribute.MessageHeaderKey; } using (QueryBehaviorScope scope = new QueryBehaviorScope(_AsynQueryRule.CurrentQueryBehavior, messageHeaderKey)) { QueryBehaviorScope.CurQueryBehavior.IsTotalPageDisplayed = _IsTotalPageDisplayed; QueryBehaviorScope.CurQueryBehavior.IsQueryAll = _IsQueryAll; _AsynQueryRule.BeginRunWorker(e.Argument as MB.Util.Model.QueryParameterInfo[]); if (QueryBehaviorScope.ResponseInfo != null) { _TotalRecordCount = QueryBehaviorScope.ResponseInfo.TotalRecordCount; } } } catch (Exception ex) { // System.Threading.Thread.Sleep(100); throw new MB.Util.APPException("数据库初始化查询条件出错,可能超时引起,请尽可能输入过滤条件以免引起大量数据 (关闭连接通道 可能需要一会时间,请耐心等待)", MB.Util.APPMessageType.DisplayToUser, ex); } count = _AsynQueryRule.GetBufferCount(); if (count == 0) { return(null); } _WorkThread.ReportProgress(count, LoadDataProcessState.HasCount); IAsyncResult[] res = new IAsyncResult[count]; for (int i = 0; i < count; i++) { if (e.Cancel) { return(null); } res[i] = _AsynQueryRule.BeginGetBufferByIndex(i, null, i); } for (int i = 0; i < count; i++) { if (e.Cancel) { return(null); } if (res[i].IsCompleted) { byte[] bts = _AsynQueryRule.EndGetBufferByIndex(res[i]); _DataList.Add(i, bts); _WorkThread.ReportProgress(i, LoadDataProcessState.HasSingleData); } else { System.Threading.Thread.Sleep(100); //通过这种变态的方式 等待直到接收到数据为止。 i--; } } _WorkThread.ReportProgress(0, LoadDataProcessState.BeginUnZip); byte[] buffer; for (int i = 0; i < count; i++) { if (e.Cancel) { return(null); } stream.Write(_DataList[i], 0, _DataList[i].Length); } stream.Position = 0; buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); stream.Close(); //解压压缩流 edit by cdc 2011-01-04 由于统一在通道上进行解压缩处理,这里不需要 byte[] bytes = buffer;// MB.Util.Compression.Instance.UnZip(buffer);// Compression(buffer, CompressionMode.Decompress); _WorkThread.ReportProgress(0, LoadDataProcessState.BeginDeserialize); stream = new MemoryStream(bytes); IFormatter formatter = new BinaryFormatter(); //反序列化 DataSet ds = (DataSet)formatter.Deserialize(stream); stream.Close(); return(ds); }
private void queryFilterData() { try { ucFilterCondition filterCtl = _StepShowControlPane[PaneViewType.FilterPane] as ucFilterCondition; MB.Util.Model.QueryParameterInfo[] filters = filterCtl.GetQueryParameters(); List <QueryParameterInfo> tempFilters = new List <QueryParameterInfo>(filters); //判断如果是自定义的条件,在查询的时候,需要再加上这个条件 if (_FilterParametersIfNoFiterPanel != null && _FilterParametersIfNoFiterPanel.Count > 0) { tempFilters.AddRange(_FilterParametersIfNoFiterPanel); filters = tempFilters.ToArray(); } if (filters == null || filters.Length == 0) { if (!filterCtl.AllowEmptyFilter) { MB.WinBase.MessageBoxEx.Show("请至少输入一个数据过滤的条件!"); return; } else { MB.Util.Model.QueryParameterInfo allFilter = new MB.Util.Model.QueryParameterInfo("0", "0", MB.Util.DataFilterConditions.Special); filters = new MB.Util.Model.QueryParameterInfo[] { allFilter }; } } //modify by aifang 2012-04-17 支持树型控件数据助手选择 //ucDataCheckListView listView = _StepShowControlPane[PaneViewType.DataSelect] as ucDataCheckListView; IDataAssistantListControl listView = _StepShowControlPane[PaneViewType.DataSelect] as IDataAssistantListControl; //modify by aifang 2012-04-17 支持树型控件数据助手选择 listView.MultiSelect = _MultiSelect; listView.ColumnEditCfgInfo = _ClumnEditCfgInfo; lnkChecked.Visible = _MultiSelect; using (MB.WinBase.WaitCursor cursor = new MB.WinBase.WaitCursor(this)) { int mainType = 0; if (_ClientRule.MainDataTypeInDoc != null) { mainType = (int)_ClientRule.MainDataTypeInDoc; } //获得动态列的MessageKey string messageHeaderKey = string.Empty; if (_ClientRule.ClientLayoutAttribute.LoadType == ClientDataLoadType.ReLoad) { messageHeaderKey = _ClientRule.ClientLayoutAttribute.MessageHeaderKey; } //添加动态列消息头 MB.XWinLib.XtraGrid.XtraGridDynamicHelper.Instance.AppendQueryBehaviorColumns(_ClientRule); using (QueryBehaviorScope scope = new QueryBehaviorScope(_ClientRule.CurrentQueryBehavior, messageHeaderKey)) { var lstDatas = this.GetFilterObjects(mainType, new List <MB.Util.Model.QueryParameterInfo>(filters)); if (lstDatas != null && lstDatas.Count > 0) { listView.SetDataSource(_ClientRule, lstDatas); _StepShowControlPane[PaneViewType.DataSelect].BringToFront(); validateButton(PaneViewType.DataSelect); validatedPageControl((lstDatas as IList).Count); } else { MB.WinBase.MessageBoxEx.Show("根据该条件查找不到数据,请重试!"); } } } } catch (Exception ex) { MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex); } }
protected override void LoadObjectData(MB.Util.Model.QueryParameterInfo[] queryParams) { if (_ClientRuleObject == null) { throw new MB.Util.APPException("在加载浏览窗口<DefaultViewForm>时 需要配置对应的ClientRule 类!"); } if (_ClientRuleObject.ClientLayoutAttribute == null) { throw new MB.Util.APPException(string.Format("对于客户段逻辑类 {0} ,需要配置 RuleClientLayoutAttribute.", _ClientRuleObject.GetType().FullName)); } try { //添加右键菜单扩展 if (_ClientRuleObject.ReSetContextMenu != null) { grdCtlMain.ContextMenu = _ClientRuleObject.ReSetContextMenu; //else { // grdCtlMain.ContextMenu.MenuItems.Add(new MenuItem("-")); // foreach (MenuItem item in _ClientRuleObject.ReSetContextMenu.MenuItems) { // grdCtlMain.ContextMenu.MenuItems.Add(item); // } //} } string messageHeaderKey = string.Empty; if (_ClientRuleObject.ClientLayoutAttribute.LoadType == ClientDataLoadType.ReLoad) { messageHeaderKey = _ClientRuleObject.ClientLayoutAttribute.MessageHeaderKey; } gridViewMain.RowHeight = MB.WinBase.LayoutXmlConfigHelper.Instance.GetMainGridViewRowHeight(_ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile); using (MB.WinBase.WaitCursor cursor = new MB.WinBase.WaitCursor(this)) { using (MethodTraceWithTime timeTrack = new MethodTraceWithTime(null)) { //特殊说明 2009-02-20 在这里需要增加 RefreshLookupDataSource 以便在加载数据ID 时能得到对应的描述信息。 if (_ClientRuleObject.ClientLayoutAttribute.CommunicationDataType == CommunicationDataType.DataSet) { throw new MB.Util.APPException("当前不支持基于DataSet 的网格编辑", MB.Util.APPMessageType.SysErrInfo); } else { IList lstDatas = null; try { using (QueryBehaviorScope scope = new QueryBehaviorScope(_ClientRuleObject.CurrentQueryBehavior, messageHeaderKey)) { lstDatas = _ClientRuleObject.GetObjects((int)_ClientRuleObject.MainDataTypeInDoc, queryParams); } } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, " 在加载编辑网格窗口获取数据时执行业务类的 GetObjects 出错"); } //IGridViewEditRule gridViewEditRule = _ClientRuleObject as IGridViewEditRule; //if (gridViewEditRule == null) // throw new MB.Util.APPException("所有基于Mid 子窗口网格编辑的业务类必须实现IGridViewEditRule 接口", MB.Util.APPMessageType.SysErrInfo); if (_BindingSource == null) { IBindingList bl = _ClientRuleObject.CreateMainBindList(lstDatas); _BindingSource = new MB.WinBase.Binding.BindingSourceEx(); _BindingSource.ListChanged += new ListChangedEventHandler(_BindingSource_ListChanged); _BindingSource.AddingNew += new AddingNewEventHandler(_BindingSource_AddingNew); _BindingSource.DataSource = bl; MB.WinBase.Common.GridViewLayoutInfo gridViewLayoutInfo = MB.WinBase.LayoutXmlConfigHelper.Instance.GetGridColumnLayoutInfo(_ClientRuleObject.ClientLayoutAttribute.UIXmlConfigFile, string.Empty); var detailBindingParams = new MB.XWinLib.GridDataBindingParam(grdCtlMain, _BindingSource, false); MB.XWinLib.XtraGrid.XtraGridEditHelper.Instance.CreateEditXtraGrid(detailBindingParams, _ClientRuleObject.UIRuleXmlConfigInfo.GetDefaultColumns(), _ClientRuleObject.UIRuleXmlConfigInfo.ColumnsCfgEdit, gridViewLayoutInfo); } else { MB.XWinLib.XtraGrid.XtraGridHelper.Instance.RefreshDataGrid(grdCtlMain, lstDatas); } #region 刷新status strip int rowCount = (lstDatas == null ? 0 : lstDatas.Count); var msg = string.Format("查询花费:{0} 毫秒,返回 {1} 记录,查询时间:{2}", timeTrack.GetExecutedTimes(), rowCount, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); string totalPageandCurrentPage = GetTotalPageAndCurrentpage(rowCount); //刷新查询消息 labTitleMsg.Text = msg; //刷新上一页/下一页 lnkNextPage.Enabled = rowCount >= _ClientRuleObject.CurrentQueryBehavior.PageSize; lnkPreviousPage.Enabled = _ClientRuleObject.CurrentQueryBehavior.PageIndex > 0; //刷新总页数 labTotalPageNumber.Visible = IsTotalPageDisplayed; labCurrentPageNumber.Visible = IsTotalPageDisplayed; if (this.IsTotalPageDisplayed) { string[] totalPage_currentPage = totalPageandCurrentPage.Split(','); labTotalPageNumber.Text = string.Format("共{0}页", totalPage_currentPage[0]); labCurrentPageNumber.Text = string.Format("第{0}页", totalPage_currentPage[1]); } #endregion _ClientRuleObject.BindingSource = _BindingSource; } panTitle.Visible = false; } } //在GRIDVIEW创建完成以后 //根据UI RULE来判断GRID的编辑状态,是否允许新增,修改,删除 DevExpress.XtraGrid.Views.Grid.GridView mainView = grdCtlMain.MainView as DevExpress.XtraGrid.Views.Grid.GridView; if (_ClientRuleObject != null) { var rejectCfg = MB.WinBase.Atts.AttributeConfigHelper.Instance.GetModuleRejectCommands(_ClientRuleObject.GetType()); if (rejectCfg != null) { if ((rejectCfg.RejectCommands & UICommandType.AddNew) != 0) { mainView.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False; mainView.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.None; } else { mainView.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True; mainView.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom; } if ((rejectCfg.RejectCommands & UICommandType.Edit) != 0) { mainView.OptionsBehavior.ReadOnly = true; mainView.OptionsBehavior.Editable = false; } else { mainView.OptionsBehavior.ReadOnly = false; mainView.OptionsBehavior.Editable = true; } if ((rejectCfg.RejectCommands & UICommandType.Delete) != 0) { mainView.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.False; } else { mainView.OptionsBehavior.AllowDeleteRows = DevExpress.Utils.DefaultBoolean.True; } } } } catch (MB.Util.APPException aex) { throw aex; } catch (Exception ex) { throw MB.Util.APPExceptionHandlerHelper.PromoteException(ex, "加载网格浏览编辑窗口Form_Load 时出错"); } }
void FrmGetObjectDataAssistant_Load(object sender, EventArgs e) { if (MB.Util.General.IsInDesignMode()) { return; } if (_ClientRule == null) { string[] tps = this.InvokeDataSourceDesc.Type.Split(','); if (string.IsNullOrEmpty(this.InvokeDataSourceDesc.TypeConstructParams)) { _ClientRule = MB.Util.DllFactory.Instance.LoadObject(tps[0], tps[1]) as MB.WinBase.IFace.IClientRuleQueryBase; } else { var conPars = this.InvokeDataSourceDesc.TypeConstructParams.Split(','); _ClientRule = MB.Util.DllFactory.Instance.LoadObject(tps[0], conPars, tps[1]) as MB.WinBase.IFace.IClientRuleQueryBase; } } if (_ClientRule == null) { throw new MB.Util.APPException("没有得到客户端业务控制类!", MB.Util.APPMessageType.SysErrInfo); } //增加分页 add by aifang 2012-07-26 begin MB.WinBase.AppMessenger.DefaultMessenger.Subscribe <string>(QUERY_REFRESH_MSG_ID, o => { labTitleMsg.Text = o; }); if (_QueryObject == null && pnlQry.Visible) { lnkNextPage.Click += new EventHandler(lnkNextPage_Click); lnkPreviousPage.Click += new EventHandler(lnkPreviousPage_Click); lnkPreviousPage.Enabled = false; lnkNextPage.Enabled = false; } //增加分页 add by aifang 2012-07-26 end if (_StepShowControlPane == null) { _StepShowControlPane = new Dictionary <PaneViewType, Control>(); _StepShowControlPane.Add(PaneViewType.FilterPane, CreateFilterControl(_ClientRule, ClumnEditCfgInfo.FilterCfgName)); ITreeListViewHoster treeViewRule = _ClientRule as ITreeListViewHoster; if (treeViewRule == null) { _ListView = new ucDataCheckListView(); } else { _ListView = new ucDataTreeListView(); } _ListView.AfterSelectData += new GetObjectDataAssistantEventHandle(listView_AfterSelectData); _StepShowControlPane.Add(PaneViewType.DataSelect, _ListView as Control); foreach (Control ctl in _StepShowControlPane.Values) { ctl.Dock = DockStyle.Fill; panMain.Controls.Add(ctl); } } if (_HideFilterPane) { _StepShowControlPane[PaneViewType.DataSelect].BringToFront(); _ListView.MultiSelect = _MultiSelect; _ListView.ColumnEditCfgInfo = _ClumnEditCfgInfo; lnkChecked.Visible = _MultiSelect; try { //获得动态列的MessageKey string messageHeaderKey = string.Empty; if (_ClientRule.ClientLayoutAttribute.LoadType == ClientDataLoadType.ReLoad) { messageHeaderKey = _ClientRule.ClientLayoutAttribute.MessageHeaderKey; } //添加动态列消息头 MB.XWinLib.XtraGrid.XtraGridDynamicHelper.Instance.AppendQueryBehaviorColumns(_ClientRule); //增加分页信息 if (_MAX_SHOW_ROWS <= 0) { _MAX_SHOW_ROWS = MB.Util.MyConvert.Instance.ToInt(nubMaxShotCount.Value); } _ClientRule.CurrentQueryBehavior.PageSize = _MAX_SHOW_ROWS; _ClientRule.CurrentQueryBehavior.PageIndex = 0; using (QueryBehaviorScope scope = new QueryBehaviorScope(_ClientRule.CurrentQueryBehavior, messageHeaderKey)) { List <MB.Util.Model.QueryParameterInfo> filterParas; if (_FilterParametersIfNoFiterPanel != null) { filterParas = _FilterParametersIfNoFiterPanel; } else { filterParas = new List <MB.Util.Model.QueryParameterInfo>(); } var lstDatas = this.GetFilterObjects(0, filterParas); _ListView.SetDataSource(_ClientRule, lstDatas); validateButton(PaneViewType.DataSelect); butNext.Enabled = false; butPreviouss.Enabled = false; validatedPageControl((lstDatas as IList).Count); } } catch (Exception ex) { MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex); } } else { _StepShowControlPane[PaneViewType.FilterPane].BringToFront(); validateButton(PaneViewType.FilterPane); } ucFilterCondition filterCtl = _StepShowControlPane[PaneViewType.FilterPane] as ucFilterCondition; if (filterCtl != null) { //panBottom.BackColor = filterCtl.AllowEmptyFilter ? System.Drawing.Color.FromArgb(212, 228, 248) : Color.White; if (filterCtl.AllowEmptyFilter) { _ToolTip.SetToolTip(panBottom, "查询绿色通道,允许查询所有数据"); } } }