首页 > 代码库 > 连载:(三)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--控制文件
连载:(三)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--控制文件
连载:(三)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表
--XML控制文件
作者:长江支流
本章,将给出控制文件相关类的C#.Net源代码,包括控制文件主控类WebMisController、以及控制文件的组成部分表单及清单过滤字段Field类、回调函数类CallbackFun。
控制文件
控制文件由WebMIS.ServiceModel.WebMisController/ WebMisControllerSerializer类去描述和解析。
控件文件格式参考如下:
<?xmlversion="1.0"encoding="utf-8"?> <WebMisControllerSerializerxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Controller> <!--注意,Select中的字段大小写,所以Field中的Name节点,要与之一样。大小写敏感--> <Select>Select ID,DM,MC Fromtest_EntityAccessORM</Select> <TableName> test_EntityAccessORM </TableName> <!—可选--> <UpdateWhere> <value>Where ID=@ID</value> </UpdateWhere> <DeleteWhere> <value>Where ID=@ID </value> </DeleteWhere> <CallbackFun> <AfterLoad></AfterLoad> <AfterDeleted></AfterDeleted> </CallbackFun> <Fields> <Field> <ID>ID</ID> <Name>id</Name> <Title>标识ID</Title> <Align>right</Align> <Width>20</Width> </Field> <Field> <!--ID节点表示WinForm/WebForm中控件的ID属性或标准html元素的name属性,大小写要一致--> <ID>Code</ID> <!--Name节点表示Select中指定的字段名,大小写要一致--> <Name>DM</Name> <Title>代码</Title> </Field> <Field> <ID>Name</ID> <Name>MC</Name> <Title>代码</Title> </Field> </Fields> </Controller> </WebMisControllerSerializer>
Field的属性描述,还有很多,例如:
<Field>
<ID>Code</ID>
< Name > mc</ Name >
<Title>代码</Title>
<Type>String</Type>
<Save></Save>
<Visible></Visible>
<Sql></Sql>
<Value></Value>
<Excel></Excel>
<UserInputValue></UserInputValue>
<null>false</null>
<nulltitle>代码不能为空,请输入!</nulltitle>
</Field>
控制文件命名空间
namespace WebMIS.ServiceModel { }
- 控制文件主类
/// <summary> /// 表示UI表单元素到查询字段的映射控制关系。 /// </summary> [System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))] [System.Serializable] public class WebMisController { //查询SQL private string _Select = ""; private string _TableName = "csm_DefineMaintenance"; //表明,查询表及表单用 private string _PrimaryKey = "ID"; //主键字段,例如ID,查询表的某条数据用于绑定到网页。 private string _PrimaryKeyValue = http://www.mamicode.com/""; //主键字段查找值>
/// <summary> /// 表示UI表单元素到查询字段的映射控制关系。 /// </summary> [System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))] [System.Serializable] public class Field { #region 属性字段... private string _ID = ""; //表单元素ID //数据库 private string _Name = ""; //映射字段或查询字段名 private string _Type = ""; //数据保存时的数据类型 private bool _Save = true; //是否保存 //UI private string _Title = ""; //自动输出时的标签 private string _FormType = ""; //表单类型,如Input、Select,默认Input。 private string _Align = ""; //列对齐 private string _Width = ""; //列宽。 private bool _Visible = true; //界面元素是否可见 private bool _Null = true; //界面元素表单提交时是否允许为空。 private string _NullTitle = ""; //界面元素为空时,表单提交时提示。 //初始值 private string _Sql = ""; //通过SQL语句初始值 private string _Value = http://www.mamicode.com/""; //直接初始值>
- 控制文件回调函数类
/// <summary> /// 表示回调函数。 /// </summary> [System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))] [System.Serializable] public class CallbackFun { private string _AfterLoad; private string _AfterDelete; /// <summary> /// 获取或设置加载成功后回调函数名。 /// </summary> public string AfterLoad { get { return _AfterLoad; } set { _AfterLoad = value; } } /// <summary> /// 获取或设置删除数据成功后回调函数名。 /// </summary> public string AfterDelete { get { return _AfterDelete; } set { _AfterDelete = value; } } }
声明:本文版权为长江支流周方勇所有,如需转载,请保留完整的内容及出处。
作者:长江支流flygoldfish@163.com微信:winxin8001234567
连载:(三)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--控制文件