ASP.NET分页组件学与用——使用篇

原创 2005年05月06日 14:25:00
在这一篇文章中,我们主要讨论一下如何使用分页组件。

 

       请按以下步骤操作:

1、  创建一个WEB应用程序工程。

 

2、  将上篇文章中生成的组件添加到工具箱中。如果您不知道添加的过程,请参考文章《ASP.NET组件编程step by step

 

 

3、  在默认的WEB窗体页面中,切换到HTML视图,把下列HTML代码复制到<form>标签中。

<div align="center">

                            <center>

                                   <table border="0" cellpadding="0" cellspacing="0" width="756" height="155" style="FONT-SIZE:12px">

                                          <tr>

                                                 <td width="756" height="23">分页控件的使用实例</td>

                                          </tr>

                                          <tr>

                                                 <td width="756" height="110" valign="top" align="center" runat="server" id="myHtml"></td>

                                          </tr>

                                          <tr>

                                                 <td width="756" height="22">

                                                 </td>

                                          </tr>

                                   </table>

                            </center>

                     </div>

 

4、  HTML代码生成一个三行一列的表格,从工具箱将控件拖到该表格的第三行中。

 

5、  private void Page_Load(object sender, System.EventArgs e)事件处理程序中添加如下代码:

int cp;

            if(this.Request.Params["currentPage"] == null)

            {

                cp = 1;

            }

            else

            {

                cp = Convert.ToInt32(this.Request.Params["currentPage"]);

            }

 

            SqlConnection con = new SqlConnection("server=accp-lzh;uid=sa;pwd=sasa;database=Northwind");

            SqlCommand cmd = new SqlCommand("select * from [Order Details]",con);

            SqlDataAdapter adapter = new SqlDataAdapter();

            adapter.SelectCommand = cmd;

            DataSet ds = new DataSet();

            con.Open();

            adapter.Fill(ds,"table");

            con.Close();

           

            DataTable dt = new DataTable();

            dt = ds.Tables["table"];

            //以下设置控件参数

            this.LzhPages1.AllCount = dt.Rows.Count;//总记录条数

            this.LzhPages1.CurrentPage = cp;//当前页,从URL中读取

            this.LzhPages1.ShowPages = 10;//导航数字个数

            this.LzhPages1.Count = 10;//每页显示的记录条数

 

            StringBuilder sql = new StringBuilder();

            //以下三个字符串最终组合成一个完整的表格<table>

            string htmlHeader = "";//<table>标签

            string htmlBody = "";//中间有若干个<tr>标签,即行

            string htmlFoot = "";//</table>标签

 

            sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);

            SqlCommand cmd1 = new SqlCommand(sql.ToString(),con);

            adapter.SelectCommand = cmd1;

            con.Open();

            adapter.Fill(ds,"table1");

            con.Close();

 

            dt= ds.Tables["table1"];

            htmlHeader =  "<table style='font-size:12px' border='1' cellpadding='0' cellspacing='0' width='100%' bordercolor='#008000' bordercolorlight='#008000' bordercolordark='#FFFFFF'>/n";

            

            for(int i = 0;i < dt.Rows.Count ;i ++)

            {

                htmlBody = htmlBody + String.Format("<tr>/n<td width='12%'>{0}</td>/n<td width='43%'>{1}</td>/n<td width='24%'>{2}</td><td width='21%'>{3}</td>/n</tr>/n",dt.Rows[i][0].ToString(),dt.Rows[i][1].ToString(),dt.Rows[i][2].ToString(),dt.Rows[i][3].ToString());

            }

            htmlFoot = "</table>/n";

 

        this.myHtml.InnerHtml = htmlHeader + htmlBody + htmlFoot;

 

6、  sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);此语句中的SQL语句就是用来分页的,我们的控件只是用来控制页面,数据还得通过SQL语句或存储过程读取。

 

7、  结果图:

 

ASP.NET分页组件学与用——使用篇

 大家好,这篇文章承启上一篇文章《ASP.NET分页组件学与用——教学篇》。         在《ASP.NET分页组件学与用——教学篇》中,我们讲解了分页组件的整个创建过程,那么在这一篇文章中,我们...
  • mymyal123
  • mymyal123
  • 2005年02月25日 13:01
  • 761

ASP.NET分页组件学与用——使用篇

ASP.NET分页组件学与用——使用篇        大家好,这篇文章承启上一篇文章《ASP.NET分页组件学与用——教学篇》。        在《ASP.NET分页组件学与用——教学篇》中,我们讲解...
  • johnsonTj
  • johnsonTj
  • 2005年03月07日 22:17
  • 983

ASP.NET分页组件学与用——教学篇

没有人会怀疑分页组件在WEB应用程序中的作用。数据库中的记录数成千上万甚至过亿,如果一股脑儿显示在一页显然毫不现实,这样的程序员也太小儿科了。所以,最好的办法就是分页显示,每页只显示数据库中的一部分记...
  • zhengfei82
  • zhengfei82
  • 2007年04月19日 19:34
  • 342

ASP.NET分页组件学与用——教学篇(源代码)

using System;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel; using ...
  • qq_net
  • qq_net
  • 2004年09月09日 20:51
  • 655

ASP.NET分页组件学与用——教学篇(源代码)

 using System;using System.Web.UI;using System.Web.UI.WebControls;using System.ComponentModel; using...
  • mymyal123
  • mymyal123
  • 2005年02月25日 12:51
  • 516

C# ASP.NET AspNetPager对DataList控件分页

1、控件代码段DataList数据绑定 < asp:DataList ID=”DataList1” runat=”server” RepeatColumns=”2” RepeatDirection=...
  • u010075060
  • u010075060
  • 2015年04月19日 21:43
  • 592

Asp.net使用Aspose.Words 组件生成Word

Aspose.Words, 是Aspose“家族类库”之一。除这个以外,还有其他许多厉害的类库例如Aspose.pdf(操作PDF文件的类库)、Aspose.Flash(操作 Flash文件的类库)、...
  • whilelie
  • whilelie
  • 2012年05月04日 14:11
  • 3124

ASP.NET中MvcPager(分页的第三方插件)的用法,献给小白(本人也小白一个)

在ASP.NET编程中,我们常常会使用到列表数据,但由于网页的大小限制,常常有分页的需求,手动分页是很痛苦的,从SQL语句到排版,控制页数,控制跳转,控制这控制那。烦的狠,下面给大家介绍一种可以自动计...
  • iloveyoulkn
  • iloveyoulkn
  • 2014年12月13日 22:23
  • 1204

ASP.NET MVC+bootstrap paginator分页

之前做过一个bootstrap table的分页的项目,但是今天自己打算写着一个网站来玩儿,但是遇到的问题就是不能用table分页但是最好Ajax分页,经过查阅网上的资料,本人得出了解决方案,马上上代...
  • Brave_Coder
  • Brave_Coder
  • 2016年02月12日 20:43
  • 2245

Bootstrap组件之分页

.pagination——指定ul元素包裹分页组件; .pagination-lg、..pagination-sm——改变分页组件的尺寸大小,适配不同屏幕的分辨率; .disabled——指定分页组...
  • bboyjoe
  • bboyjoe
  • 2015年08月01日 17:50
  • 1171
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET分页组件学与用——使用篇
举报原因:
原因补充:

(最多只允许输入30个字)