首先来说说本文所描述的东西有哪些功能:
(1)在界面上输入某个值之前,其他的控件都处于不可用状态。
(2)需检验必填项是否为空。
(3)需检验用户输入的格式是否正确。
(4)清除控件内容。
(5)为控件设置默认值。
(6)清除清除错误提示信息(ErrorText)。
(7)将数据行的值映射到文本编辑框中。
(8)将编辑框中的数据赋给数据行。
看看我是怎么实现的
【1】定义"设置条件"的实体类
代码一
/// <summary>
/// 设置条件
/// </summary>
public class SetControl
{
/// <summary>
/// 控件名称
/// </summary>
[Description("控件名称")]
public object ControlName
{
get;
set;
}
/// <summary>
/// 是否可为空
/// </summary>
[Description("可否为空")]
public bool NullAble
{
get;
set;
}
/// <summary>
/// 默认值
/// </summary>
[Description("默认值")]
public object Default
{
get;
set;
}
/// <summary>
/// 匹配格式
/// </summary>
[Description("匹配格式")]
public string Formate
{
get;
set;
}
/// <summary>
/// 是否主键
/// </summary>
[Description("是否主键")]
public bool KeyFiled
{
get;
set;
}
/// <summary>
/// 对应字段的名称
/// </summary>
[Description("对应字段的名称")]
public string FiledName
{
get;
set;
}
/// <summary>
/// 重写Tostring()方法。返回控件的名称
/// </summary>
/// <returns></returns>
public override string ToString()
{
Type t = ControlName.GetType();
System.Reflection.PropertyInfo x = t.GetProperty("Name");
object cnm = x.GetValue(ControlName, null);
return cnm == DBNull.Value ? "" : cnm.ToString();
}
}