首页 > 代码库 > 连载:(三)循序渐进,通过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)表单、报表--控制文件