惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
S
SegmentFault 最新的问题
V
Visual Studio Blog
J
Java Code Geeks
宝玉的分享
宝玉的分享
美团技术团队
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
有赞技术团队
有赞技术团队
量子位
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
博客园 - 叶小钗
月光博客
月光博客
P
Proofpoint News Feed
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
Stack Overflow Blog
Stack Overflow Blog

博客园 - 老羽

SqlServer2005中分页代码测试 WM中实现Splash动画效果 自定义合并多文件协议设计 JScript中Date.getTime转.Net中的DateTime .net中处理C/C++中的位域 POOM(Pocket Outlook Object Model)开发介绍及应用(转) 多线程执行多任务的DEMO GPRS管理与创建APN拨号连接 WM中电话相关的技巧 - 老羽 - 博客园 一道面试题题解 【转】Windows Mobile控制面板程序 [转]Windows Mobile上的服务程序 Smartphone2003开发总结一:Form总结 C++常用技巧一(整理收集) [转]CString,string,char*的综合比较 [转] C++ Windows字符和字符指针类型 [转]C++ int,char,string,CString类型转换(整理总结) C++字符串函数详解[转] Smartphone2003中实现焦点在ListView控件与其它控件中切换
推荐AspNetPager分页控件
老羽 · 2010-07-13 · via 博客园 - 老羽

2010-07-13 15:45  老羽  阅读(335)  评论()    收藏  举报

前台代码:

html xmlns="http://www.w3.org/1999/xhtml" >
<
head runat="server">
<
title></title>
<
style>
/*拍拍网风格*/
/*.paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
.paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
.paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
.paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
*/
/*淘宝风格*/
.paginator { font: 12px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
.paginator a {border:solid 1px #ccc;color:#0063dc;cursor:pointer;text-decoration:none;}
.paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.paginator .cpb {border:1px solid #F50;font-weight:700;color:#F50;background-color:#ffeee5;}
.paginator a:hover {border:solid 1px #F50;color:#f60;text-decoration:none;}
.paginator a,.paginator a:visited,.paginator .cpb,.paginator a:hover
{float:left;height:16px;line-height:16px;min-width:10px;_width:10px;margin-right:5px;text-align:center;
white-space:nowrap;font-size:12px;font-family:Arial,SimSun;padding:0 3px;}
</style>
</
head>
<
body>
<
form id="form1" runat="server">
<
div>
<
h3>分页测试</h3>
<
div>
<
asp:GridView ID="GridView1" runat="server">
</
asp:GridView>
</
div>
<
div>
<
webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator" CurrentPageButtonClass="cpb" runat="server" AlwaysShow="True"
FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PageSize="20" PrevPageText="上一页" ShowCustomInfoSection="Left"
ShowInputBox="Never" onpagechanged="AspNetPager1_PageChanged" CustomInfoTextAlign="Left" LayoutType="Table" >
</
webdiyer:AspNetPager>
</
div>
</
div>
</
form>
</
body>
</
html>

后台代码:(用到企业库)

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BindData();

}

private void BindData()
{
string sql = @" BEGIN
DECLARE @START INT
DECLARE @END INT
DECLARE @row_number int
SET @START = (@current_page -1) * @page_size + 1
SET @END = @START+@page_size -1

SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY @row_number) AS row_number,* FROM t_um_ob) rp
WHERE row_number BETWEEN @START AND @END;
SELECT count(1) FROM t_um_ob
END"

;

Database db = DatabaseFactory.CreateDatabase("DB");
DbCommand cmd = db.GetSqlStringCommand(sql);
db.AddInParameter(cmd, "@current_page", System.Data.DbType.Int32, AspNetPager1.CurrentPageIndex);
db.AddInParameter(cmd, "@page_size", System.Data.DbType.Int32, AspNetPager1.PageSize);
DataSet ds = db.ExecuteDataSet(cmd);
AspNetPager1.RecordCount = (int)ds.Tables[1].Rows[0][0];
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();

感觉效果还不错,值得推荐