热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【开源】QuickPagerASP.NET2.0分页控件——使用示例、基本应用和查询功能

myPage分页控件发出来之后,虽然开源了,但是没有给一个简单一点的demo,真是漏掉了一个很重要的部分。先说明一下使用myPage分页控件需要的文件。C

    myPage分页控件发出来之后,虽然开源了,但是没有给一个简单一点的 demo,真是漏掉了一个很重要的部分。

    先说明一下使用myPage分页控件需要的文件。

     Controls.dll :这个是分页控件的dll文件,您可能要问,为什么不叫 myPage.dll呢?因为里面不仅有分页控件,还包含其他的控件,比如扩展功能的TextBox等控件,这是多个控件的集合,所以就叫做 Controls.dll 了。对应的有一个 Controls.XML文件,里面放的是控件里的属性、函数、事件的提示说明。这个可以更方便使用。需要把这两个文件放在bin目录里面。

提示效果:


     DataAccess2.0.dll :这个不属于分页控件,他是 数据访问函数库的dll文件,因为分页控件要调用这里面的函数来提取数据,所以也需要把这个dll文件放在bin目录下面。他也有一个对应的 DataAccess2.0.xml 文件。

    压缩包里的其他文件
    vs200802.dll 这个是演示程序的 dll文件。
     Default.aspx 这里就是分页控件的演示代码了。
    
    
    要想写一个demo还真不是容易的事情,IDE就有两个,vs2005和vs2008,有都可以建立“网站”和“项目”,组合一下就是四种demo。我比较懒,给自己偷个懒吧,用vs2005写一个建立“网站”的demo,再用vs2008写一个“项目”的demo吧。(ps:vs2005还没有打上sp1呢,所以想建立项目也建立不了:) )

    先说一下公用的部分吧,需要在web.config里面配置连接字符串和数据库类型。
< appSettings >
        
< add  key ="DataType"  value ="1" />
    
appSettings >
    
< connectionStrings >
        
< add  name ="ConnStr"  connectionString ="Data Source=.;Initial Catalog=AdventureWorks ;persist security info=False;user id=sa;pwd=admin;"  providerName ="System.Data.SqlClient" />
    
connectionStrings >
    
< system.web >
    
    DataType = 1 表示使用sql Server数据库。

    ConnStr 是连接字符串。这里使用 SQL Server2005自带的 AdventureWorks 数据库,不知道大家有没有安装。如果没有安装的话,需要在这里换成其他的数据库。当然 Data Source 等也需要做相应的修改。

    下面说一下vs2005里面使用分页控件地方法,截了几个图,方便大家阅读。

    1、添加引用。
    怎么建立项目就不用说了吧。项目建立之后需要引用分页控件需要的dll文件。
    在“解决方案资源管理器”点击右键,选择“添加引用”。
    

    然后呢会打开“添加引用”对话框,选择“浏览”标签。
    

    找到 Controls.dll 文件,单击确定。好了,分页控件就会被引用到项目里了。下一步是在工具箱里面添加分页控件。

    2、 工具箱里添加分页控件。

    

    点击“选择项”,打开“选择工具箱项”
    

    使用“浏览”按钮,找到 Controls.dll 文件,然后里面的控件就会加载进来,就是选中的这几个。单击确定,就可以加到工具箱里面了。

    

    然后往页面上拽一个GridView,和一个JYKPage(控件里还没有改名:) ),用做测试,GridView的ID是GV,分页控件的ID:myPage1。GridView采用“自动生成字段”的方式。

    

    
    dll和控件都加载完毕,下面可以写代码了。
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
if (!Page.IsPostBack)
            setPageInfo();
    }


   
private   void  setPageInfo()
    
{
        
//以下三个属性必须赋值
        this.myPage1.ControlGridID = this.GV.ID;

        
this.myPage1.TableName = " Person.Contact";      //表名或者视图名
        this.myPage1.TableOrderColumns = "FirstName,ContactID ";  //排序字段,可以写多个字段

        
//以下属性可以不赋值
        this.myPage1.TableShowColumns = "*";    //显示的字段,可以不填,默认为 *
        this.myPage1.PageSize = 5;              //一页显示的记录数,默认一页显示20条记录
        this.myPage1.TableQuery = "";           //查询条件,不包含 where 
        this.myPage1.NaviCount = 8;             //页号导航的数量,默认10个

        
//这个函数必须执行,而且要在给上面的属性赋值之后执行。
        this.myPage1.BindFirstPage();

    }


    然后运行程序。提示一下,运行前要修改web.config文件,设置连接字符串。另外还有一点,需要在根目录下面建立一个 log文件夹,如果运行程序出现错误(和数据访问相关的),那么会在这个文件夹里面建立一个文本文件,在里面写出错信息,您可以根据这里的信息来判断出错的原因。
    需要给log文件夹设置一下权限,User用户的“写入”权限,否则无法写入信息。如图:


    如果没有什么意外的话,您会看到下面的效果。

    

    GridView没有做什么处理,大家忍受一下先。:)

    最少写四行代码就可以实现分页的功能,显示数据就交给GridView了。什么您问是不是漏了一件事情,翻页时产生的事件还没有说呢,这个在默认的情况下是不用自行处理的。分页控件就可以自己处理。

    还要写代码,好像没有GridView + SQLDataSource方便。我想了一下,好像确实没有什么优势,要说优点嘛,好像只有两个,一个是分页控件是按需索取,一页显示五条数据的话,那么就到数据库里提取五条,多一条不取(听说GridView在分页的时候还是会把表里的数据都拿出来,然后在内存里面分页)。另一个就是,GridView + SQLDataSource只能在vs05、08里面使用,不能在vs2003里面使用,而我的分页控件可以在vs2003里面使用。当然要选用for .net1.1的版本。
(ps:04年底,分页控件就可以这么用了。)

    


    下面说一下vs2008里面使用分页控件的方法,其实和在05里面也没有什么大的区别。
    
    1、引用dll文件
    

     
    
    
    2、工具里添加分页控件
    

    


    3、编写代码。这个嘛,其实和vs05里面的是一样的,就不重复贴了。

    4、运行。
    
    还是要先修改一下web.config文件,再根目录里面建立一个log文件夹。





    最后说一下如何实现查询功能。

    在页面里拖拽两个JYKTextBox,对没写错买就是这个,他在分页控件的下数第二个控件,再加一个button按钮。
    我们假设需要按照字段 LastName、Phone 来进行模糊查询。在按钮的 Btn_Search_Click事件里面写如下代码即可。

    
  protected   void  Btn_Search_Click( object  sender, EventArgs e)
        
{
            
//TableName等属性已经在ViewState 里面保存了,所以查询的时候不用再次赋值。

            
//组合查询条件
            string query = "";

            
string key = this.Txt_LastName.TextTrimNone;

            
if (key.Length > 0)
            
{
                query 
= "LastName like '%" + key + "%'";
            }


            key 
= this.Txt_Phone.TextTrimNone;
            
if (key.Length > 0)
            
{
                
if (query.Length == 0)
                    query 
= "Phone like '%" + key + "%'";
                
else
                    query 
+= " and Phone like '%" + key + "%'";
            }


            
this.myPage1.TableQuery = query;    //添加查询条件
            this.myPage1.BindFirstPage();       //重新显示数据,控件内部会重新生成SQL语句。

        }
    

    运行效果
    
    


demo的下载地址: http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html
还是在随笔的下面。


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
author-avatar
上海悠u7_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有