连载:(一)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--前言

循序渐进,通过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

时间: 2024-11-10 11:27:02

连载:(一)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--前言的相关文章

连载:(二)循序渐进,通过XML配置,实现通用于WinForm(.Net)、WebForm(Asp.Net+JQuery+EasyUI)表单、报表--原理

连载:(二)循序渐进,通过XML配置,实现通用于WinForm(.Net).WebForm(Asp.Net+JQuery+EasyUI)表单.报表 --原理 作者:长江支流 本原理,适用于Window Form的CS,也适用于ASP.Net的BS. 在描述原理之前,先来看个传统的ORM写代码的例子. 实体映射 现在很多架构实现ORM,去动态的生成代码,实现数据增.删.改.查的功能. 实体的映射关系,是通过代码的方式进行映射的,是否可以通过XML文件,来配置实例的映射关系,答案是肯定的. 代码映射

连载:(三)循序渐进,通过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/ WebMisControlle

Jquery ajax 表单验证处理返回的xml格式数据

jsp页面表单: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% String path = request.getContextPath(); Strin

java web.xml配置详解

1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Load

【转】Maven pom.xml 配置详解

原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:/

学习笔记——Maven pom.xml配置详解

POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apach

160329(二)、web.xml配置详解

1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Load

二、struts.xml配置及例程

1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts.properties和web.xml文件中配置,它们的优先级逐步升高,即是说后面的配置会覆盖掉前面相同的配置. 2.配置形式 下面以对struts.i18n.encoding=UTF-8的配置为例进行说明: 在struts.xml配置形式如下: <constant name="struts.i

web.xml 配置介绍

这个不是原创,有点早了,具体从哪里来的已经记不得了.但是东西是实实在在的. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener&g