循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表
--前言
作者:长江支流
本连载,定义为《循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表》,通过大量篇幅进行详细的代码及文字说明,实战.Net开发。欢迎转载,转载请注明出处,谢谢!
十年前(2004年8月17日),在CSDN发表了两篇有关.Net环境下的打印相关的博文,之后开发并共享开源了《金质打印通》,和很多程序员同行朋友们以及大学老师认识,非常激动!!!
开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(1)
开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(2)
十年后的今天(2014年9月10日,教师节,祝天下老师节日快乐!),本人将再继前缘,连载博文,让程序员对重复的有规律可寻的程序功能“不程序”,让不懂程序但会SQL的DBA能写“程序”!!!
知识点
-
ADO.Net
-
XML
-
序列化/反序列化
-
JQuery
-
EasyUI
-
母版
软件环境
-
Microsoft Visual Studio.Net 2008/2010/2012及更高版本
-
Oracle / SQLServer / MySQL / DB2 / Access等
本人一向认为,写程序写的是思想,并且如果掌握一点技术,就会把技术发挥到极处。所以,不要被知识点所吓倒,你一定要认为,你也可以的 :) ,特别是在校生,你肯定能做到。
例如,XML文件,解析很容易,就是几句话的事情,然后重复,而最简单的解析器,直接用序列化反序列化,也是几行代码的事,当然里面有些技巧。再如,虽然用到了Jquery和EasyUI用于显示网页报表及查询过滤,以及数据的增删改查,如果读者接触过,请你一定要相信,我的Jquery和EasyUI水平绝对没有你高。因为我只要会一点,我就把尽量的灵活应用于实战。
先来一点干货,即能让读者对自己有信息,也能让读者对作者有信心,绝对不写一很程序,即完成一个显示于EasyUI的网格报表。
以上界面,只需要配置一个数据源的Select语句,在<Filter>指定要动态显示哪几个过滤字段,以及在<Fields>指定要显示的字段。只需要在浏览器中输入URL:http://网站/WebMIS.Web/UI/NormViewGrid.aspx?controller=xml描述的控制文件名,回车,搞定。
<?xml version="1.0" encoding="utf-8"?> <WebMisControllerSerializer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Controller> <!--注意,Select中的字段是大写,所以Field中的Name节点,要与之一样--> <Select> Select a.ID As ID, a.DM As City,a.MC As Name,b.DM As Town ,MC,b.Memo From test_EntityAccessORM a Inner Join test_EntityAccessORM_Inner b On a.ID=b.CityID </Select> <Filter> <Field> <!--ID节点表示显示过滤输入控件ID或html元素的name属性,可以随便取一个唯一名称,建议统一命名为 filter_字段 --> <ID>filter_DM</ID> <!--Name节点表示Select中指定的字段名,重名必须加表前缀,用于条件查询,不区分大小写--> <Name>City</Name> <!--表示过滤条件的标签名--> <Title>城市代码</Title> <!--不写默认可见,设置false,可以传隐性条件参数--> <Visible>true</Visible> <!--表示数据类型,例如日期,就可以直接显示日期控件--> <Type>String</Type> <!--查询条件是否允许为空及提示--> <Null>false</Null> <Nulltitle>查询代码不能为空,请输入!</Nulltitle> </Field> <Field> <ID>filter_XZDM</ID> <!--查询字段不区分大小写--> <Name>town</Name> <Title>乡镇代码</Title> </Field> <Field> <ID>filter_MC</ID> <Name>MC</Name> <Title>名称</Title> </Field> </Filter> <Fields> <Field> <ID>ID</ID> <Name>ID</Name> <Title>标识ID</Title> <Align>right</Align> <Width>20</Width> </Field> <Field> <!--在查询报表而非表单时,如果不指定Name,取ID节点,大小写要与Select中一致--> <ID>City</ID> <Title>城市代码</Title> <Width>20</Width> </Field> <Field> <ID>MC</ID> <Title>城市名称</Title> <Width>20</Width> </Field> <Field> <ID>Town</ID> <Title>乡镇代码</Title> <Width>20</Width> </Field> <Field> <ID>Memo</ID> <Title>乡镇描述</Title> <Width>20</Width> </Field> </Fields> </Controller> </WebMisControllerSerializer>
在本连接下一章节,将说明实现原理,之后给出C#实现XML配置文件相关类,并给出源代码。
声明:本文版权为长江支流周方勇所有,如需转载,请保留完整的内容及出处。
作者:长江支流[email protected]微信:winxin8001234567