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

asp.net|分页

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

大家好,这篇文章承启上一篇文章《ASP.NET分页组件学与用——教学篇》。

在《ASP.NET分页组件学与用——教学篇》中,我们讲解了分页组件的整个创建过程,那么在这一篇文章中,我们主要讨论一下如何使用该组件。

请按以下步骤操作:

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、 结果图:

时间: 2024-10-29 14:41:24

ASP.NET分页组件学与用——使用篇的相关文章

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

asp.net|分页 ASP.NET分页组件学与用--教学篇 没有人会怀疑分页组件在WEB应用程序中的作用.数据库中的记录数成千上万甚至过亿,如果一股脑儿显示在一页显然毫不现实,这样的程序员也太小儿科了.所以,最好的办法就是分页显示,每页只显示数据库中的一部分记录,可以翻页,也可以输入一个页码翻到指定的页面,这种方式也是当前比较常见的用法. 本文的不同之处在于,我把分页的功能封装在组件中,一方面体现了面向对象的特点,另一方面也方便发布.共享和使用.事先声明,本文不再讲述组件创建的详细过程,如果有

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

asp.net|分页|源代码 using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; using System.Text; namespace NSLzhPages { public class LzhPages : System.Web.UI.WebControls.WebControl { private int _count;//每页显示的记录条数 pr

ASP.NET分页组件 0.1.0

asp.net|分页 修改以前做的ASCX用户组件,改编成真正意义的组件,用于制作ASP.NET中的DBGrid,DBList,Repeater等的自定义分页,配合存储过程,能提供高效的的分页功能. 属性: Number:记录总数: PageSize:每页显示数量: CurrentPage:当前页码(只读) 事件: 翻页时触发PageChanged事件: 演示代码: public class WebForm1 : System.Web.UI.Page { protected AspControl

ASP.NET分页组件更新版本

asp.net|分页 此版本经 liut 之手已经改的很好了,完全修改了内部实现的方法,也更改了使用不当的变量名, 属性: RecordCount:记录总数: PageSize:每页显示数量: CurrentPage:当前页码(只读) 事件: 翻页时触发PageChanged事件:

ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了一些例子,想选中一些好 上手的例子,这样,可能一些例子大家以前都见过,但是我想说:同样是弹钢琴,同样一首"命运交响曲 ",有的人弹的让人荡气回肠,有的人弹的就很一般. 受了李建忠老师的启发,发现用一种演化式的让人更好的接受. 好了,废话不说了.继续开发!希望大家支持! 我们之前开发了一个很简单的自定义的控件,方法很简单,只是把原来的html文本传入 writer.Writer()方法的参数,然后输出.其实从模式的

ASP.NET2.0组件控件开发视频 初体验

原文:ASP.NET2.0组件控件开发视频 初体验                               ASP.NET2.0组件控件开发视频 初体验        录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku.com/v_show/id_XNDg0MTAxNjA=.html   系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发

asp.net mvc4 mysql制作简单分页组件(部分视图)_实用技巧

在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstrap分页组件,这可以参考http://v3.bootcss.com/components/. 先将生成项目效果截图呈上: 这里有需要预先知道的,是mysql分页查询与mssql分页查询实现不同点在于,mysql支持limit语句,limit格式为 limit pageIndex*pageSize,p

asp.net分页功能实现_实用技巧

说一下实现分页的思路 这里的分页用到了一个组件 AspNetPage.dll,这个组件大家可以到网上去下载,我这里就不提供了 添加最近到工具箱中这样我们就可以像其他控件一样拖拽使用了 如图DataPage是在工具箱中的,至于怎么添加你们百度吧 拖拽到页面中如图 这个是我加完样式后显示的效果,怎么样是不是你们想要的了,如果不是你们还可以修改样式样式稍候奉上 先来看看要怎么使用 <webdiyer:AspNetPager ID="AspNetPager1" runat="s

图片-使用asp.net邮件组件发送显示发送失败

问题描述 使用asp.net邮件组件发送显示发送失败 解决方案 so what? 除了一张图片,其他什么也没有 你是让其他人帮你检查一下那几个红字的语法对不对么? 解决方案二: 用户名.密码是否指定正确.再不行联系下网站管理员.