标签:报表 表单 asp.net jquery .net快速开发
作者:长江支流
控制文件由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 = ""; //主键字段查找值
private string _UpdateWhere = ""; //更新条件
private string _DeleteWhere = ""; //删除条件
private CallbackFun _CallbackFun = null; //回调函数
private Field[] _Fields = null; //查询字段映射关系
private Field[] _Filter = null; //字段过滤映射关系
//其它未尽描述
// private System.Collections.Hashtable _Other = new System.Collections.Hashtable();
#region 属性...
/// <summary>
/// 查询语句。
/// </summary>
public string Select
{
get { return _Select; }
set { _Select = value; }
}
/// <summary>
/// 数据库表名。
/// </summary>
public string TableName
{
get { return _TableName; }
set { _TableName = value; }
}
/// <summary>
/// 主键名。
/// </summary>
public string PrimaryKey
{
get { return _PrimaryKey; }
set { _PrimaryKey = value; }
}
/// <summary>
/// 主键值。
/// </summary>
public string PrimaryKeyValue
{
get { return _PrimaryKeyValue; }
set { _PrimaryKeyValue = value; }
}
/// <summary>
/// 更新条件。
/// </summary>
public string UpdateWhere
{
get { return _UpdateWhere; }
set { _UpdateWhere = value; }
}
/// <summary>
/// 删除条件。
/// </summary>
public string DeleteWhere
{
get { return _DeleteWhere; }
set { _DeleteWhere = value; }
}
/// <summary>
/// 获取或设置回调函数。
/// </summary>
public CallbackFun CallbackFun
{
get { return _CallbackFun; }
set { _CallbackFun = value; }
}
/// <summary>
/// 获取或设置字段。
/// </summary>
public Field[] Fields
{
get { return _Fields; }
set { _Fields = value; }
}
/// <summary>
/// 获取或设置字段。
/// </summary>
public Field[] Filter
{
get { return _Filter; }
set { _Filter = value; }
}
/*
/// <summary>
/// 其它没描述完的。
/// </summary>
public System.Collections.Hashtable Other
{
get { return _Other; }
set { _Other = value; }
}
*/
#endregion 属性...
}
/// <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 = ""; //直接初始值
private string _Excel = ""; //EXCEL操作时,对应的行列,用半角英逗号文分隔,可以初始UI值。
private string _UserInputValue = "";//用户输入的值,强制优先于界面。。
//其它未尽描述
//private System.Collections.Hashtable _Tag = new System.Collections.Hashtable();
#endregion 属性字段...
#region 属性...
/// <summary>
/// 获取或设置表单元素ID。
/// </summary>
public string ID
{
get { return _ID; }
set { _ID = value; }
}
#region DB...
/// <summary>
/// 获取或设置映射字段或查询字段名。
/// </summary>
public string Name
{
get { return _Name; }
set { _Name = value; }
}
/// <summary>
/// 获取或设置数据保存时的数据类型。
/// </summary>
public string Type
{
get { return _Type; }
set { _Type = value; }
}
/// <summary>
/// 获取或设置数据是否保存。
/// </summary>
public bool Save
{
get { return _Save; }
set { _Save = value; }
}
#endregion DB...
#region UI...
/// <summary>
/// 获取或设置自动输出时的标签。
/// </summary>
public string Title
{
get { return _Title; }
set { _Title = value; }
}
/// <summary>
/// 获取或设置表单类型,如Input、Select,默认Input。
/// </summary>
public string FormType
{
get { return _FormType; }
set { _FormType = value; }
}
/// <summary>
/// 获取或设置界面元素是否可见。
/// </summary>
public bool Visible
{
get { return _Visible; }
set { _Visible = value; }
}
/// <summary>
/// 获取或设置界面元素列对齐。
/// </summary>
public string Align
{
get { return _Align; }
set { _Align = value; }
}
/// <summary>
/// 获取或设置界面元素宽度。
/// </summary>
public string Width
{
get { return _Width; }
set { _Width = value; }
}
/// <summary>
/// 获取或设置界面元素是否允许不输入。
/// </summary>
public bool Null
{
get { return _Null; }
set { _Null = value; }
}
/// <summary>
/// 获取或设置界面元素必须输入或选择时提示语。
/// </summary>
public string NullTitle
{
get { return _NullTitle; }
set { _NullTitle = value; }
}
#endregion UI...
#region 初始...
/// <summary>
/// 获取或设置初始值的SQL语句。
/// </summary>
public string Sql
{
get { return _Sql; }
set { _Sql = value; }
}
/// <summary>
/// 获取或设置初始值的默认值。
/// </summary>
public string Value
{
get { return _Value; }
set { _Value = value; }
}
/// <summary>
/// 获取或设置EXCEL操作时,对应的行列,用半角英逗号文分隔,可以初始UI值。
/// </summary>
public string Excel
{
get { return _Excel; }
set { _Excel = value; }
}
/// <summary>
/// 获取或设置用户输入值,强制优先于界面。
/// </summary>
public string UserInputValue
{
get { return _UserInputValue; }
set { _UserInputValue = value; }
}
#endregion 初始...
/*
/// <summary>
/// 其它没描述完的。
/// </summary>
public System.Collections.Hashtable Tag
{
get { return _Tag; }
set { _Tag = value; }
}
*/
#endregion 属性...
#region 构造函数...
/// <summary>
/// 创建类的新实例。
/// </summary>
public Field()
{ }
/// <param name="elementID">元素ID,如果不指定字段名,默认与元素名相同。</param>
public Field(string elementID):this()
{
_ID = elementID;
_Name = elementID;
_Title = elementID;
}
/// <param name="name">查询字段名,如果不指定字段名,默认与元素名相同。</param>
public Field(string elementID, string name)
: this()
{
_ID = elementID;
_Name = name;
_Title = name;
}
#endregion 构造函数...
} /// <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)表单、报表--控制文件
标签:报表 表单 asp.net jquery .net快速开发
原文地址:http://blog.csdn.net/flygoldfish/article/details/39183725