DCWriter文本编辑器软件使用说明 - 图文 下载本文

4.6.10.3. 数据校验

文本输入域支持数据校验。

4.6.10.3.1. 数据校验设置

它定义了一个签名为“public DCSoft.Common.ValueValidateStyle ValidateStyle{get;set;}”的属性。该属性就定义了文本输入域的数据校验规则。类型ValueValidateStyle的主要属性有 public bool Required{get;set;} 指示该数据不能为空。

public DCSoft.Common.ValueTypeStyle ValueType{get;set;}

指示数据校验类型。可选值有

Text:文本格式。

Integer:为整数格式。 Numeric:为数字格式。 Date:为日期格式。 Time:为时间格式。

DateTime:为日期时间格式。

public int MaxLength{get;set;}

文本最大长度。若该值小于等于0则无此限制。 public int MinLength{get;set;} 文本最小长度。若该值小于等于0则无此限制。 public bool CheckMaxValue{get;set;} 是否检查数字或者日期值的最大值。 public bool CheckMinValue{get;set;} 是否检查数字或者日期值的最小值。 public double MaxValue{get;set;} 数字的最大值。若CheckMaxValue值为false,则该属性无效。 public double MinValue{get;set;} 数字的最小值。若CheckMinValue值为false,则该属性无效。 public DateTime DateTimeMaxValue{get;set;} 日期的最大值。若CheckMaxValue值为false,则该属性无效。 public DateTime DateTimeMinValue{get;set;}

日期的最小值。若CheckMaxValue值为false,则该属性无效。 public string CustomMessage{get;set;} 若数据校验不通过,则使用的自定义的校验错误提示信息,若该属性值为空,则系统会自动生成校验错误提示信息,并设置输入域的背景色为选项“ViewOptions.FieldInvalidateValueBackColor”指定的颜色,默认为淡红色。

编辑器控件或者文档对象的选项“EditOptions.ValueValidateMode”就指示编辑器控件何时进行数据校验。其可选值有

None:禁止数据校验。

Dynamic:实时的数据校验。用户修改输入域中的内容都会导致系统进行数据校验。

LostFocus:只有文本输入域失去输入焦点是才进行数据校验。 Program:用户的操作不会导致执行数据校验,需要应用程序调用接口来执行数据校验。 文档对象XTextDocument类型有一个签名为“public virtual DCSoft.Writer.Dom.ValueValidateResultList ValueValidate( )”的方法。该方法就能对整个文档的文本输入域进行数据校验。该方法返回一个类型为ValueValidateResultList的对象。这是一个列表,列表元素类型为ValueValidateResult。ValueValidateResult类型的主要属性有: public XTextElement Element{get;set;} 数据校验不通过的文档元素对象。 public string Message{get;set;}

数据校验结果提示信息。

应用程序可以调用这个ValueValidate方法,获得文档校验结果,然后以自定义的方式显示出来。

4.6.10.3.2. 数据校验过程

文本输入域元素有OnValidating方法及Validating事件,还有OnValidate方法及Validated事件。其签名为:

public virtual ValueValidateResult OnValidating( CancelEvent args , bool loadingDocument) public virtual void OnValidate()

当系统对文本输入域执行数据校验时,首先文档输入域元素对象的OnValidating方法。该方法的默认操作就是根据输入域元素的ValidateStyle属性值进行数据校验,若校验失败,则设置参数args.Cancel值为true。

系统根据OnVallidating的参数args.Cancel值进行后续处理。若Cancel值为false则说明校验成功,继续执行输入域对象的OnValidated方法。

4.6.10.4. 自定义下拉列表

DCSoft.Writer支持下拉列表,开发人员可以编写代码来自定义的提供下拉列表的内容,入下图所示: