AspNetPager 的存储过程

  1. ALTER PROCEDURE P_GetOrderNumber
  2. AS
  3.     select count(orderid) from orders;
  4.     RETURN
    1. ALTER procedure P_GetPagedOrders2000
    2. (@startIndex int,
    3. @pageSize int
    4. )
    5. as
    6. set nocount on
    7. declare @indextable table(id int identity(1,1),nid int)
    8. declare @PageUpperBound int
    9. set @PageUpperBound=@startIndex+@pagesize-1
    10. set rowcount @PageUpperBound
    11. insert into @indextable(nid) select orderid from orders order by orderid desc
    12. select O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+' '+E.LastName as EmployeeName 
    13. from orders O
    14. left outer join Customers C
    15. on O.CustomerID=C.CustomerID
    16. left outer join Employees E
    17. on O.EmployeeID=E.EmployeeID
    18. inner join @indextable t on 
    19. O.orderid=t.nid
    20. where t.id between @startIndex and @PageUpperBound order by t.id
    21. set nocount off
    22.     RETURN
      1. ALTER PROCEDURE P_GetPagedOrders2005
      2. (@startIndex INT, 
      3.  @pageSize INT
      4.  )
      5. AS
      6. begin
      7. WITH orderList AS ( 
      8. SELECT ROW_NUMBER() OVER (ORDER BY O.orderid DESC)AS Row, O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+' '+E.LastName as EmployeeName 
      9. from orders O
      10. left outer join Customers C
      11. on O.CustomerID=C.CustomerID
      12. left outer join Employees E
      13. on O.EmployeeID=E.EmployeeID)
      14. SELECT orderid,orderdate,customerid,companyName,employeeName
      15. FROM orderlist
      16. WHERE Row between @startIndex and @startIndex+@pageSize-1
      17. end
      以下示例说明如何用AspNetPager对Repeater进行分页。

       

      1.         
      2. <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
      3. <%@Import NameSpace="System.Data"%>
      4. <%@Import NameSpace="System.Data.SqlClient"%>
      5. <script runat="server" Language="C#">
      6. void Page_Load(object sender, EventArgs e)
      7.     {
      8.         if (!IsPostBack)
      9.         {
      10.             int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
      11.             AspNetPager1.RecordCount = totalOrders;
      12.             bindData();
      13.         }
      14.     }
      15.  void bindData()
      16.     {
      17.         Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure,"P_GetPagedOrders2005",
      18.             new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
      19.             new SqlParameter("@pageSize", AspNetPager1.PageSize));
      20.         Repeater1.DataBind();
      21.     }
      22.  void AspNetPager1_PageChanged(object src, EventArgs e)
      23.     {
      24.         bindData();
      25.     }
      26. </script>
      27. <HTML><HEAD>
      28. <TITLE> AspNetPager Samples </TITLE>
      29. <META NAME="Author" CONTENT="Webdiyer (www.webdiyer.com)">
      30. </HEAD>
      31. <BODY>
      32. <form runat="server">
      33.         <asp:Repeater ID="Repeater1" runat="server">
      34.         <HeaderTemplate>
      35.         <table width="100%" border="1" cellspacing="0" cellpadding="4" style="border-collapse:collapse">
      36.         <tr style="backGround-color:#CCCCFF"><th style="width:15%"><asp:Literal ID="Literal1" runat="server" Text="<%$Resources:LocalizedText,orderid%>" /></th><th style="width:15%"><asp:Literal ID="Literal3" runat="server" Text="<%$Resources:LocalizedText,orderdate%>" /></th><th style="width:30%"><asp:Literal ID="Literal5" runat="server" Text="<%$Resources:LocalizedText,companyname%>" /></th><th style="width:20%"><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:LocalizedText,customerid%>" /></th><th style="width:20%"><asp:Literal ID="Literal4" runat="server" Text="<%$Resources:LocalizedText,employeename%>" /></th></tr>
      37.         </HeaderTemplate>
      38.         <ItemTemplate>
      39.         <tr style="background-color:#FAF3DC">
      40.         <td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
      41.         <td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
      42.         <td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>
      43.         <td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
      44.         <td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>
      45.         </tr>
      46.         </ItemTemplate>
      47.         <FooterTemplate>
      48.         </table>
      49.         </FooterTemplate>
      50.         </asp:Repeater>
      51.   <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" HorizontalAlign="right" PageSize="8" OnPageChanged="AspNetPager1_PageChanged">
      52.         </webdiyer:AspNetPager>
      53.         </form>
      54. </BODY>
      55. </HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值