datarepeater分页示例

类别:Asp 点击:0 评论:0 推荐:

<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<script runat="server">    
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)

        Dim Pgds As PagedDataSource = New PagedDataSource       
  Pgds.DataSource = CreateDataSource().DefaultView       
  Pgds.AllowPaging = True       
  Pgds.PageSize = 6       
  lblTotalPage.Text = Pgds.PageCount.ToString()

        Dim CurrentPage As Integer       
  If Not Request.QueryString("Page") Is Nothing Then           
   CurrentPage = Convert.ToInt32(Request.QueryString("Page"))       
  Else           
   CurrentPage = 1       
  End If

        Pgds.CurrentPageIndex = CurrentPage - 1       
  lblCurrentPage.Text = CurrentPage.ToString()

        If Not Pgds.IsFirstPage Then           
   lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1)       
  End If

        If Not Pgds.IsLastPage Then           
   lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1)       
  End If

        Repeater1.DataSource = Pgds       
  Repeater1.DataBind()

    End Sub

Function CreateDataSource() As Datatable

 Dim dt As DataTable
 Dim dr As DataRow
 Dim i As Integer

        dt = New DataTable       
  dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer)))       
  dt.Columns.Add(New DataColumn("StringValue", GetType(String)))       
  dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))       
  dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))

  For i = 0 To 50
   dr = dt.NewRow()
   dr(0) = i
   dr(1) = "Item " + i.ToString()
   dr(2) = DateTime.Now.ToShortTimeString
   If (i Mod 2 <> 0) Then
    dr(3) = True
   Else
    dr(3) = False
   End If
   
   dt.Rows.Add(dr)
  Next
  
Return dt

End Function

</script>
<html>
<head>
<title>DataRepeater</title>
<style type=text/css>

BODY {FONT: 10px Verdana, Arial, Helvetica, "sans serif"; COLOR: #000000; }
.txt {FONT-SIZE: 12px}
</style>
</head>
<body>
<form id="Form1" name=form1 method=post runat="server">
  <table class=txt width="100%" border=0>
    <tbody>
    <tr>
      <td> <asp:hyperlink id=lnkPrev runat="server">上页</asp:hyperlink> <asp:hyperlink id=lnkNext runat="server">下页</asp:hyperlink>
        第
        <asp:label id=lblCurrentPage runat="server"></asp:label>
        页 共
        <asp:label id=lblTotalPage runat="server"></asp:label>
        页 </td>
    </tr></tbody>
  </table>
  <asp:repeater ID=Repeater1 runat="server">
    <itemtemplate>
      <hr align="left" width="60%" size="1">
      <table class=txt width="100%" border="0">
        <tr>
          <td>Order Date:
            <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %></td>
        <tr>
          <td>Quantity:
            <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %></td>
        <tr>
          <td>Item:
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %></td>
        <tr>
          <td>Order Date:
            <asp:checkbox id="chk1" checked=<%# DataBinder.Eval(Container.DataItem, "BoolValue")%> runat="server"/>
   </td>
        </tr>
      </table>
    </itemtemplate>
  </asp:repeater>
  <hr hight="1">
</form>
</body>
</html>

 

本文地址:http://com.8s8s.com/it/it8359.htm