/// <summary> /// ÉèÖÃ״̬ /// </summary> /// <param name="control"></param> /// <param name="state"></param> /// <param name="readOnlyWhenView"></param> private static void SetState(IDataValueControl control, StateType state, bool readOnlyWhenView) { switch (state) { case StateType.None: control.SelectedDataValue = null; control.ReadOnly = readOnlyWhenView; break; case StateType.View: control.ReadOnly = readOnlyWhenView; break; case StateType.Add: control.SelectedDataValue = null; control.ReadOnly = !readOnlyWhenView; break; case StateType.Edit: control.ReadOnly = !readOnlyWhenView; break; default: throw new NotSupportedException("Invalid State of " + state); } }
/// <summary> /// Evaluate /// </summary> /// <param name="validationProvider"></param> /// <param name="componentToValidate"></param> /// <param name="valueToValidate"></param> /// <param name="validationMessage"></param> /// <returns></returns> public override bool Evaluate(ValidationProvider validationProvider, object componentToValidate, string valueToValidate, out string validationMessage) { validationMessage = string.Empty; IDataValueControl dataControl = componentToValidate as IDataValueControl; if (dataControl != null) { valueToValidate = (dataControl.SelectedDataValue == null ? null : dataControl.SelectedDataValue.ToString()); if (dataControl.ReadOnly) { return(true); } } Xceed.Grid.Cell cell = componentToValidate as Xceed.Grid.Cell; if (cell != null) { if (cell.ReadOnly) { return(true); } } //object nullValue; //if (!s_nullValues.ContainsKey(m_dataType)) //{ // nullValue = string.Empty; //} //else //{ // nullValue = s_nullValues[m_dataType]; //} if (valueToValidate == null) { valueToValidate = string.Empty; } if ((valueToValidate != null) && base.Trim) { valueToValidate = valueToValidate.Trim(); } if (string.IsNullOrEmpty(valueToValidate)) { validationMessage = (base.CustomValidationMessages.RequiredField != null) ? base.CustomValidationMessages.RequiredField : validationProvider.DefaultValidationMessages.RequiredField; validationMessage = validationMessage.Replace("%name%", base.CriterionName); return(false); } else { return(true); } }
/// <summary> /// 验证是否符合格式。(只读的不验证) /// </summary> /// <param name="validationProvider"></param> /// <param name="componentToValidate"></param> /// <param name="valueToValidate"></param> /// <param name="validationMessage"></param> /// <returns></returns> public override bool Evaluate(ValidationProvider validationProvider, object componentToValidate, string valueToValidate, out string validationMessage) { validationMessage = string.Empty; IDataValueControl dataControl = componentToValidate as IDataValueControl; if (dataControl != null) { valueToValidate = (dataControl.SelectedDataValue == null ? null : dataControl.SelectedDataValue.ToString()); if (dataControl.ReadOnly) { return(true); } } Xceed.Grid.Cell cell = componentToValidate as Xceed.Grid.Cell; if (cell != null) { if (cell.ReadOnly) { return(true); } } if (valueToValidate == null) { valueToValidate = string.Empty; } if (base.Trim) { valueToValidate = valueToValidate.Trim(); } if (string.IsNullOrEmpty(valueToValidate)) { return(true); } bool success = true; //Regex regex = base.CaseSensitive ? new Regex(this.RegularExpression ?? "") : new Regex(this.RegularExpression ?? "", RegexOptions.IgnoreCase); success = m_regex.Match(valueToValidate).Success; if (!success) { validationMessage = (base.CustomValidationMessages.RegularExpression != null) ? base.CustomValidationMessages.RegularExpression : validationProvider.DefaultValidationMessages.RegularExpression; validationMessage = validationMessage.Replace("%name%", base.CriterionName); } return(success); }
/// <summary> /// 验证是否符合格式。(只读的不验证) /// </summary> /// <param name="validationProvider"></param> /// <param name="componentToValidate"></param> /// <param name="valueToValidate"></param> /// <param name="validationMessage"></param> /// <returns></returns> public override bool Evaluate(ValidationProvider validationProvider, object componentToValidate, string valueToValidate, out string validationMessage) { validationMessage = string.Empty; IDataValueControl dataControl = componentToValidate as IDataValueControl; if (dataControl != null) { valueToValidate = (dataControl.SelectedDataValue == null ? null : dataControl.SelectedDataValue.ToString()); if (dataControl.ReadOnly) { return(true); } } Xceed.Grid.Cell cell = componentToValidate as Xceed.Grid.Cell; if (cell != null) { if (cell.ReadOnly) { return(true); } } if (valueToValidate != null && base.Trim) { valueToValidate = valueToValidate.Trim(); } if (string.IsNullOrEmpty(valueToValidate)) { valueToValidate = null; } Dictionary <string, object> p = new Dictionary <string, object> { { "value", valueToValidate }, { "cell", cell }, { "dc", dataControl } }; // "cm" foreach (var i in m_param) { p.Add(i.Key, i.Value); } object success = Script.CalculateExpression(m_script, p); if (success == null || !Convert.ToBoolean(success)) { validationMessage = (base.CustomValidationMessages.RegularExpression != null) ? base.CustomValidationMessages.RegularExpression : validationProvider.DefaultValidationMessages.RegularExpression; validationMessage = validationMessage.Replace("%name%", base.CriterionName); return(false); } else { return(true); } }
/// <summary> /// ÉèÖÃ״̬ /// </summary> /// <param name="control"></param> /// <param name="state"></param> public static void SetState(IDataValueControl control, StateType state) { SetState(control, state, true); }