【小试身手】几个自定义控件的组合应用,实现简单的“增删改查”功能(有源码)

 

     分页控件、查询控件、显示数据的控件和表单控件,终于把这几个控件结合在一起了,和在一起之后就可以让“增删改查”变的非常的简单和容易了,当然还需要数据访问函数库的支持。

     综合演示的IDE是 vs2008,.net Framework2.0,C#, B/S 。目标(适用范围)是网站的后台管理、OA、CRM、CMS等信息管理方面的项目。

     演示网址:http://jyk.mainsdn.com/ 感谢 CleverKing (www.mainsdn.com)提供空间和域名。

     自定义控件的源码下载地址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html

     综合演示的程序(源码)的下载地址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html

     先发个截图:

 

 

 表单页面,实现增加、修改数据。

     

 

     表面上看好像没什么特别的,但是有两点需要注意一下。

     1、像文本框、下拉列表框这样的控件,并不是在IDE里面拖拽出来的,而是表单控件、查询控件根据配置信息自动“绘制”出来的。

     2、如果您留意一下网址的话,您会发现“新闻管理”和“员工管理”的列表页面的网址都是http://jyk.mainsdn.com/_CommonPage/DataList1.aspx?fid=21 只是后面的 fid值不一样,一个是21,一个是23。

     同样两个表单页面的网址也是一样的,都是http://jyk.mainsdn.com/_CommonPage/DataDetail.aspx?k=1&fid=21&id=-2 同样也只是 fid 不一样,一个是21,一个是23。

     这两个页面不是只能承担两个功能点,其他的功能点也都可以使用这两个页面,只要功能不是太复杂的就可以。一般的项目,80%的列表页面都可以使用DataList.aspx页面来实现,而30%-80%的表单也都可以使用DataDetail.aspx页面实现。

     可能您会想,这么多的功能点都是用同一个页面实现,页面里的代码是不是会很多很复杂,其实页面里的代码很简单,其原因就是采用了一系列的自定义控件来实现的。

     下面是基类、网页的结构图:

 

 

     

     VS2008提供了一个计算代码度量值的功能,用一下看看吧,总共的代码数才128行,挺简洁的吧。

     

 

     页面里的代码

     贴一段BasePageList 的代码,其他的就先不贴了,感兴趣的话可以下载源代码。

 

 public class BasePageList : BasePage
    {
        定义公用的控件,以便于统一控制#region 定义公用的控件,以便于统一控制
        /**//// <summary>
        /// 分页用的控件
        /// </summary>
        public QuickPager myPager;

        /**//// <summary>
        /// 显示数据用的控件
        /// </summary>
        public MyGrid myGrid;

        /**//// <summary>
        /// 查询控件
        /// </summary>
        public MyFind myFind;

        /**//// <summary>
        /// 查询按钮
        /// </summary>
        public Button Btn_Search;

        #endregion

        /**//// <summary>
        /// OnInit事件
        /// </summary>
        /// <param name="e"></param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            设置分页控件的属性#region 设置分页控件的属性
            myPager.DAL = base.dal;
            
            myPager.ControlGrid = myGrid;
            myPager.FunctionID = this.FunctionID;

            myPager.SetPagerInfo();
            
            #endregion

            设置显示数据控件的属性#region 设置显示数据控件的属性
            myGrid.DAL = base.dal;
            myGrid.FunctionID = this.FunctionID;
            #endregion

            设置查询控件的属性#region 设置查询控件的属性
            myFind.DAL = base.dal;
            myFind.FunctionID = this.FunctionID;

            myFind.SetTDColumns = 3;

            #endregion

            添加按钮的事件#region 添加按钮的事件
            this.Btn_Search.Click += new EventHandler(Btn_Search_Click);
            #endregion
        }

        查询事件#region 查询事件
        void Btn_Search_Click(object sender, EventArgs e)
        {
            myPager.TableQuery = this.myFind.GetSearchWhere(); 
            myPager.BindFirstPage();
        }
        #endregion
    }

 

 

 

 

     综合演示的“安装”说明,需要下载演示用的数据库,在http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html 这里有下载,附加到SQL Server 2000(5)里面,然后下载综合演示的程序,然后打开web.congfig文件,修改连接字符串。

 

 

 

时间: 2024-09-30 03:12:26

【小试身手】几个自定义控件的组合应用,实现简单的“增删改查”功能(有源码)的相关文章

Android自定义控件之组合控件学习笔记分享_Android

我们来讲一下自定义组合控件,相信大家也接触过自定义组合控件吧,话不多说,直接干(哈~哈~): 大家看到这个觉得这不是很简单的吗,这不就是写个布局文件就搞定嘛,没错,确实直接上布局就行,不过,我只是用这个简单的例子来讲一下自定义组合控件的用法. 首先看看,这一行行的条目看起来都长得差不多,只是图片和文字不一样,没错,就是看中这一点,我们可以把一个条目做成一个组合控件,做为一个整体,这样不管你有几个条目,就写几个组合控件就行了. 步骤: 1.先建立组合控件的布局 myView.xml <Relati

Android自定义控件之组合控件学习笔记分享

我们来讲一下自定义组合控件,相信大家也接触过自定义组合控件吧,话不多说,直接干(哈~哈~): 大家看到这个觉得这不是很简单的吗,这不就是写个布局文件就搞定嘛,没错,确实直接上布局就行,不过,我只是用这个简单的例子来讲一下自定义组合控件的用法. 首先看看,这一行行的条目看起来都长得差不多,只是图片和文字不一样,没错,就是看中这一点,我们可以把一个条目做成一个组合控件,做为一个整体,这样不管你有几个条目,就写几个组合控件就行了. 步骤: 1.先建立组合控件的布局 myView.xml <Relati

键盘组合键的简单应用

鼠标发生故障的两个救急键 Win键就是键盘上显示windows标志的按键,位于Ctrl业与Al键之间,一般左右各有一个Win键可单独使用,作用是启动开始菜单,但常常是配合其他键使用. 常见的应用如:Win+D显示桌面; Win+M最小化所有窗口;Win+F搜索文件或文件夹;Win+R打开"运行"对话框;Win+U打开"工具管理器". APlication键,也叫属性键一般位于键盘右Ctrl键旁,它的作用与鼠标右键功能类似.在桌面上先选中一个对 象,再按属性键,你就会

求助:请问大神们web service怎么组合,求简单的例子好么

问题描述 跪求大神,作为一个代码残在工科挣扎求生,求大神伸出援助之手!希望能实现多个webservice的组合 解决方案 解决方案二:你是想要相互调用吗?解决方案三:问的是关联调用?还是怎么调用?解决方案四: 解决方案五:想要知道IOPE接口匹配,就是一个服务的输出满足另外一个服务的输入,这样就能合起来组成一个综合服务

Symfony学习十分钟入门经典教程_php实例

Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己的第一个Symfony程序. 如果需要这个样例程序的全部源代码,可以访问 这里 ,或者通过下面的方式获取源代码: $git clone https://github.com/saharabear/symfony-sample.git 项目初始化 首先,需要你在自己的电脑中安装PHP环境并安装git.这方面的内容属于基础内容,网络上有大

ORM数据层框架的设计热点:更新指定的列的几种设计方案

ORM框架的定义:对象-关系映射(Object/Relation Mapping,简称ORM) 常见的是:数据库结构=>映射Object(实体属性)=>基于实体类的操作. 还有一种:数据库结构=>映射Object(内存表结构)=>基于内存表的操作. 当然,如果你有创意,你还能创造出更多的映射载体来实现ORM. 避免思维定式:  由于思维定式,很多开发者,只有见到基于实体类映射,才会认为是一种ORM框架,于是很少人去思考其它映射载体来实现ORM. 这个思维定式,和早期在ASP.NET

【springmvc+mybatis项目实战】杰信商贸-18.附件分类基础表+数据字典

上一篇我们附件的增删改查功能全部完成.但是我们的附件有一个字段叫做"类型"(ctype),这里我们要使用数据字典,所以对于这一块我们要进行修改. 首先介绍一下数据字典 数据字典 它是一个通用结构,跟业务无关:数据字典表是用户可以动态扩充内容.它的分类用户不能改.分类是系统上线时,开发人员进行初始化.(分类是在代码中写死的,分类下的内容,用户可以动态扩充) a)一般它由编号+名称构成. 1)性别:0101男,0102女 2)包装单位:0201 PCS,0202 SETS 3)区县:029

初识MVC

        mvc,英文名叫Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中.        初次遇见你--MVC小编总是会把你和以前学习过的三层和设计模式弄混,再此,小

基于ASP.NET MVC的ABP框架入门学习教程_实用技巧

为什么使用ABP我们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋.一个基本的事实是:我们只是积累了一些经验或提高了对,NET的熟悉程度. 随着软件开发经验的不断增加,我们发现其实很多工作都是重复机械的,而且随着软件复杂度的不断提升,以往依靠经验来完成一些简单的增删改查的做法已经行不通了.特别是用户的要求越来越高,希望添加的功能越来多,目前这种开发模式,已经捉襟见肘.我很难想象如何在现有的模式下进行多系统的持续集成并添加一些新的特性. 开发一个系统时,我们不可避免的