private bool filterObjectsByInput(MB.Util.Model.QueryParameterInfo[] filterParameters) { if (createFilterObject()) { int docType = _ClientQueryRule.MainDataTypeInDoc != null ? (int)_ClientQueryRule.MainDataTypeInDoc : 0; List <MB.Util.Model.QueryParameterInfo> filterParamaters = new List <MB.Util.Model.QueryParameterInfo>(filterParameters); var lstData = _FrmDataAssistant.GetFilterObjects(docType, filterParamaters); if (lstData != null && lstData.Count > 0) { if (lstData.Count == 1) { return(setSelectValue(new object[] { lstData[0] }, true)); } else { _FrmDataAssistant.HideFilterPane = true; _FrmDataAssistant.FilterParametersIfNoFiterPanel = filterParamaters; (_FrmDataAssistant as Form).ShowDialog(); } } else { if (_ColumnEditCfgInfo.ClickButtonShowForm != null && _ColumnEditCfgInfo.ClickButtonShowForm.ShowMessageOnValidated) { throw new MB.Util.APPException("输入有误,请重新输入!", Util.APPMessageType.DisplayToUser); } } } return(false); }
private bool filterObjectsByInput(bool isKeyDown) { try { if (!checkCanQueryData()) { return(false); } if (_FrmDataAssistant == null || _ColumnEditCfgInfo.NeedCreate) { createFilterObjectData(); } if (_ErrorProvider != null) { _ErrorProvider.SetError(this, string.Empty); } int docType = 0; bool needValidation = true;//需要验证输入数据 // 生成查询条件,默认为Equal,该查询仅仅用于验证 List <MB.Util.Model.QueryParameterInfo> lst = new List <MB.Util.Model.QueryParameterInfo>(); var queryPara = new QueryParameterInfo(_ColumnEditCfgInfo.TextFieldName, this.btnEdit.Text, DataFilterConditions.Equal); lst.Add(queryPara); // 在查询窗口或者获取对象助手窗口中,需要根据FilterElementInfo信息进一步处理 if (this.ParentForm is IQueryFilterForm || this.ParentForm is IGetObjectDataAssistant) { if (this.FilterElementInfo != null) { // 多选,进行验证 if ((this.FilterElementInfo.FilterCondition == Util.DataFilterConditions.In || this.FilterElementInfo.FilterCondition == Util.DataFilterConditions.Equal) && this.MultiSelect) { queryPara.Condition = Util.DataFilterConditions.In; } else if (this.FilterElementInfo.FilterCondition == Util.DataFilterConditions.BenginsWith || this.FilterElementInfo.FilterCondition == Util.DataFilterConditions.EndsWith || this.FilterElementInfo.FilterCondition == Util.DataFilterConditions.Like) { // 模糊查询,不进行验证 needValidation = false; } } } // 验证输入的值是否正确 if (needValidation) { var lstData = _FrmDataAssistant.GetFilterObjects(docType, lst); if (lstData == null || lstData.Count == 0) { if (_ErrorProvider == null) { _ErrorProvider = new ErrorProvider(); } if (isKeyDown) { _ErrorProvider.SetError(this, "当前输入不是合法的数据,请重新输入!"); } else { btnEdit.Text = string.Empty; } } else { setSelectValue(lstData, isKeyDown); if (_ErrorProvider != null) { _ErrorProvider = null; } } } } catch (Exception ex) { MB.WinBase.ApplicationExceptionTerminate.DefaultInstance.ExceptionTerminate(ex); return(false); } return(true); }