Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【小试身手】几个自定义控件的组合应用,实现简单的“增删改查”功能(有源码)

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

作者头像
用户1174620
发布于 2018-02-26 03:19:40
发布于 2018-02-26 03:19:40
74200
代码可运行
举报
运行总次数:0
代码可运行

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

     综合演示的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 的代码,其他的就先不贴了,感兴趣的话可以下载源代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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文件,修改连接字符串。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【自然框架】 页面里的父类—— 改进和想法、解释
1、 从Control到GridView继承了多少层? (这个图可不是现做的,这是以前为了写QuickPager分页控件而弄的。http://www.cnblogs.com/jyk/archive/
用户1174620
2018/02/26
1.2K0
【自然框架】 页面里的父类—— 改进和想法、解释
【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。
【类图】 【命名空间】——————————————————【文件截图】 可能您会问,不就是弄个父类吗,怎么又是这么复杂呢?这个嘛,听我慢慢道来。 (类图里面Tree、Main1、Dat
用户1174620
2018/02/26
8040
【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。
分页解决方案 之 QuickPager的使用方法(PostBack分页、自定义获取数据)
      适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,或者XML等获取数据,不愿意使用Pager_SQL、DataAccessLibrary的情况。       优点:可以使用自己喜欢的方式获取数据,不仅仅限于关系型数据库,其他的也都可以。       缺点,要写的代码比较多。       Demo下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html       使用方法: using JYK.Data;
用户1174620
2018/02/26
6900
【自然框架】稳定版beta1——源码下载,Demo说明
在线演示:http://demo.naturefw.com/ 开源协议   一直想说来着,可是总忘。开源协议采用 BSD开源协议。   一直在说开源,但只是把源码放出来了,连个开源协议都没说,虽然说了也基本等于没说。但是还是要说一下的。   再有就是会陆续把文档完善出来。 版本说明 稳定版的含义,指的是元数据的结构、对外接口(类名、函数名、参数等)稳定下来,以后的版本都会以这个版本为准,兼容这个版本的格式。   那怎么又出来了beta1呢,那是因为虽然现在大部分都稳定了,但是还是有一些小地方没有最后确定,
用户1174620
2018/02/26
1.1K0
【自然框架】稳定版beta1——源码下载,Demo说明
分页解决方案 之 QuickPager的使用方法(PostBack分页、自动获取数据)
      适用范围:网站后台管理、OA、CRM、CMS等,从关系型数据库里提取数据,愿意使用Pager_SQL、DataAccessLibrary的情况。       最佳数据库:MS SQL。       优点:只需要设置几个属性即可,不用编写“分页事件”的处理代码。可以很方便的实现查询功能,以及保存查询条件。       Demo下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html       使用方法: using JYK.Da
用户1174620
2018/02/26
5460
分页解决方案 之 QuickPager的使用方法(在UserControl里面使用分页控件的方法)
      因为我一直没有在UserControl里面使用过QuickPager分页控件,我都是直接在.aspx里面使用,所以这个bug一直没有发现。后来告诉我他把分页控件放在了UserControl里面无法翻页的情况,检查之后才发现分页的事件没有传递到UserControl里面的分页控件里面,就是说分页控件没有得到分页事件。改了半天也没有找到从正规的方式来解决,所以只好采用了一个笨办法来解决。在UserControl里面使用分页控件的时候也稍稍有一点不同。       一般的情况是这么设置, //定义Qu
用户1174620
2018/02/26
7500
可以通过基类实现的几种功能。vs2008 .net 2.0
    我很懒,很不喜欢写重复的代码,一行重复的都不想写,所以当同一段代码要写第二遍的时候,我就会去想避免的方法。OO的特性之一 —— 继承 —— 可以帮很大的忙。     这里只说UI部分,先看一
用户1174620
2018/02/26
7860
可以通过基类实现的几种功能。vs2008 .net 2.0
分页解决方案 之 QuickPager的使用方法(URL分页、自动获取数据)
      适用范围:网站前台页面 等,从关系型数据库里提取数据,愿意使用Pager_SQL、DataAccessLibrary的情况。       优点:使用URL的方式,对于SEO比较友好。       缺点:保留查询状态没有太好的办法,GO的功能没有实现,有空看看别人是怎么做的。       Demo下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html       使用方法: using JYK.Data; using JYK.C
用户1174620
2018/02/26
9260
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】       看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。我只是想“简单的事情点鼠标就可以了,复杂的事情就要写代码了”。       还是举例子吧。比如说上次里的【表8:添加列表信息】、【表9:功能按钮】(添加按钮)、【表12:修改查询条件】、【表13:调整表单
用户1174620
2018/02/26
7580
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。
     由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的bug,感谢网友试用提出宝贵意见。由于项目正在收尾中,时间也不是太充裕,所以使用说明也不够详细。这次是发一个新的版本,另外主要是说一下,如何在一个页面(一个项目)里访问多种数据库,对多种数据库里的表进行分页。      我用过的数据库有SQL Server2000、SQL Server2005、Access、Excel,而分页控件也支持这四种数据库,那么就以这四种数据库为例。目的是在一个页面里
用户1174620
2018/02/26
1.1K0
分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
    这里要说的不仅仅是一个分页控件,而是一套解决方案,包括如何显示数据、显示分页导航,如何得到分页用的sql语句(等效于存储过程),如何提取数据,如何绑定控件,如何响应事件,添加、修改、删除数据后如何更新,如何查询数据等等。一整套完整的解决方案。 这个方案要有几个特点:       1、支持多种数据库,可以提供多个分页算法以便于支持多种数据库。       2、可以在不同的要求下选用最优的分页算法。比如如果只需要按照主键排序,那么选择Max分页算法无疑是最快的一种分页算法。       3、按需所取。
用户1174620
2018/02/08
8870
分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
很简单的企业管理器---我写程序的方式,几个自定义控件。
这里呢我利用我常用的东东写个实例,抛砖引玉,大家也都来批批,帮助我提高嘛。 我常用的呢是 数据访问层(简单理解是SQLHelp,但是绝不等于)、分页控件等自定义控件、UserControl等。 实例呢就是做一个很简单的“企业管理器”,等等,不要想的太远,我没想做那么大,我只想达到如下几个功能即可。 1、显示SQL里面的数据库名。 2、根据选择的数据库名显示数据库里的表名。 3、选择一个表然后以分页的方式显示数据。 4、对数据可以进行查询。(不好意思,还没完成) 5、对选择的数据可以编辑,可以添加、删除
用户1174620
2018/02/07
6610
很简单的企业管理器---我写程序的方式,几个自定义控件。
【自然框架】——页面基类与设计模式(二) 模板模式
前篇:【自然框架】——页面基类与设计模式(一)桥接模式 桥接模式的补充:(下面的一段是桥接模式里后补充的一段,桥接模式的一个小结) 什么是交接模式?引用《大话设计模式》里的定义:   桥接模式(Bridge):将抽象部分和他的实现部分分离,使他们都可以独立的变化。(P229)   不知道大家有没有看懂这个定义,至少我是没弄懂,呵呵。再引用一段《大话设计模式》的一段解释:(P232)   小菜:“我觉得交接模式所说的‘将抽象部分和他的实现部分分离’,还是不好理解,我的理解就是实现系统有多个角度分类,每一种分类
用户1174620
2018/02/26
7770
数据访问函数库的使用方法(一)——添加修改数据
由于这个类库是需要实例化的,如果每一次都要实例化,然后用完了在销毁,无形中就多了不少的代码,而且很容易忘记销毁实例。 同时在用户的一次访问的过程中不断地实例化、销毁,也是比较浪费资源的。 所以我建立了一个基类,在基类里面同意获得实例、统一销毁实例,这样在编码的时候就不用考虑有没有实例化,也不用担心是否销毁实例了, 另外用起来(使用方式)也和静态类的使用方式很像了。 基类里的代码: (ps:我习惯在.aspx.cs里面直接调用 数据访问函数库,所以这个基类是继承System.Web.UI.Page
用户1174620
2018/02/08
8190
QuickPager asp.net 分页控件、表单控件等自定义控件下载 和介绍 【2009.09.07更新】
最新下载地址: 自然框架的源代码、Demo、数据库、配置信息管理程序下载(2010.01.25更新) QuickControl web控件集包含的控件 QuickControl web控件集——基本控件: 控件名称 说明 详细介绍 MyTextBox  继承TextBox,增加了几个属性,继承IControlMgr接口 进入 MyDropDownList  继承DropDownList,增加了几个属性,继承IControlMgr接口 进入 MyCheckBoxList  继承CheckBox
用户1174620
2018/02/26
3.3K0
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
最新版本:V2.0.0.7 。http://www.cnblogs.com/jyk/archive/2008/07/28/1255101.html 下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html ================================     增加了几个属性、两个事件、修改了一下内部的代码。分页控件的大体结构终于确定下来了。详细说明一下功能吧。 1、基本信息     控件名称:QuickPa
用户1174620
2018/02/26
6330
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3  【增加了使用说明】
其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)
终于赶出来了,现写了一遍代码。 感谢大家的支持,感谢大家提出自己的看法。衷心的感谢,真的。 应该是先写第二步的,但是想一想还是先写第三步吧。 一般大项目里面都会有很多的基础信息的表,比如学历、职称等等,最近做了一个项目,居然有四十多个。如果一个一个地写是不是太麻烦了呢? 下面就要介绍一种方法 —— 基本一个页面搞定。 还是先说一下前提吧 VS2003 、 SQL2000 、 webform ,办公系统里的基础信息表的维护。 1、SQL2000里的几个系统表 写过代码生成器的Tx对这几个表都很
用户1174620
2018/02/07
9940
其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)
【自然框架】QuickPager asp.net 分页控件的Ajax分页方式。
  上次比较匆忙,Ajax的分页方式仅实现了基本功能,或者说只是验证了我的想法。现在对Ajax分页有做了一些调整,现在可以正式用了。   使用方法还是非常简单,可以完全按照URL分页方式来做,只需要把PagerTurnKind 属性 设置为:PagerTurnKind.AjaxForWebControl;就可以了。   然后前台需要引用jquery-1.4.2.min.js和QuickPager-1.0.js。QuickPager-1.0.js是QuickPager需要用的一个js脚本,Demo里面有这个j
用户1174620
2018/02/26
1.8K0
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
简单的需求,点点鼠标就可以了,那么复杂的需求呢?还是要写代码,哈哈。 不要被我误导了哦,关于什么时候写代码的问题,请看这里:http://www.cnblogs.com/jyk/archive/2009/06/21/1507594.html 单表的增删改查       我有一个梦想,那就是不用敲代码,只需要点点鼠标,就可以实现客户的需求。       可能您会说这是不可能的,但是有个梦想总没有错吧。我就是想实现我的这个梦想,虽然可能一辈子都达不到,但是我还想努力一下子,不想让自己后悔。如果不给自己找一
用户1174620
2018/02/26
8210
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
【自然框架】QuickPager分页控件,新增一种分页方式——伪URL分页(Postback版)
适用场景   先说一下伪URL分页的适用场景。在网站的网页里实现查询功能,如果查询条件比较少的话,还比较好办,把查询条件放到URL里面传递即可。但是如果查询条件过多,就会照成URL的长度过长。既不好看,编写起来也很麻烦。如果查询条件是汉字的话,还有一个编码的问题。 Postback分页   再看看现有的几种分页方式。Postback分页方式可以利用ViewState来很方便的保存查询条件,但是由于采用表单提交的方式实现,搜索引擎不能识别。这个对于网站来说,是一个很难接受的。 URL分页   这个是通
用户1174620
2018/02/26
9020
推荐阅读
【自然框架】 页面里的父类—— 改进和想法、解释
1.2K0
【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。
8040
分页解决方案 之 QuickPager的使用方法(PostBack分页、自定义获取数据)
6900
【自然框架】稳定版beta1——源码下载,Demo说明
1.1K0
分页解决方案 之 QuickPager的使用方法(PostBack分页、自动获取数据)
5460
分页解决方案 之 QuickPager的使用方法(在UserControl里面使用分页控件的方法)
7500
可以通过基类实现的几种功能。vs2008 .net 2.0
7860
分页解决方案 之 QuickPager的使用方法(URL分页、自动获取数据)
9260
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
7580
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。
1.1K0
分页解决方案 —— GridView + QuickPager + QuickPager_SQL + DataAccessLibrary + 数据库
8870
很简单的企业管理器---我写程序的方式,几个自定义控件。
6610
【自然框架】——页面基类与设计模式(二) 模板模式
7770
数据访问函数库的使用方法(一)——添加修改数据
8190
QuickPager asp.net 分页控件、表单控件等自定义控件下载 和介绍 【2009.09.07更新】
3.3K0
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
6330
其实添加数据也可以这样简单——表单的第三步抽象(针对UI及后置代码)
9940
【自然框架】QuickPager asp.net 分页控件的Ajax分页方式。
1.8K0
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
8210
【自然框架】QuickPager分页控件,新增一种分页方式——伪URL分页(Postback版)
9020
相关推荐
【自然框架】 页面里的父类—— 改进和想法、解释
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验