前台代码:
- 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();
感觉效果还不错,值得推荐
(michael-zhangyu) |