protected override void UpdateMasterObject(object masterObject) { if (_criteria != null) { CriteriaWrapper criteriaWrapper = new CriteriaWrapper(_criteria, masterObject); criteriaWrapper.UpdateParametersValues(masterObject); ((PropertyCollectionSource)View.CollectionSource).Criteria[nameof(FilteredMasterObjectViewController)] = criteriaWrapper.CriteriaOperator; } }
//错误 提示 //public static void NotFoundRecord(string filterString, Cell cell, IMemberInfo pi, int count) //{ // var msg = string.Format("错误,在查找“{0}”时,使用查找条件“{1}”,找到了{2}条记录!", // pi.MemberType.Name, // filterString, // count); // cell.SetValue(msg); //} public static CriteriaOperator ParseCriteriaWithReadOnlyParameters(string criteriaText, Type targetObjectType, object currentObject, object[] parameters) { var criteriaOperator = CriteriaOperator.Parse(criteriaText, parameters); var wrapper = new CriteriaWrapper(targetObjectType, criteriaOperator, currentObject); //if (wrapper.EditableParameters.Count > 0) //{ // string message = "Cannot process editable parameters:\n"; // foreach (string str2 in wrapper.EditableParameters.Keys) // { // message = message + "'@" + str2 + "'\n"; // } // throw new InvalidOperationException(message); //} wrapper.UpdateParametersValues(currentObject); return(wrapper.CriteriaOperator); }