| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • javascript模拟游戏中的…

  • javascript制作闪烁的边…

  • javascript制作浮动的工…

  • javascript设计漫天雪花

  • javascript设计网页中的…

  • 用javascript实现利用FL…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • javascript实例教程(20)…

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> ASP.NET >> 文章正文
    ASP.NET程序中用Repeater实现分页         
    ASP.NET程序中用Repeater实现分页
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-10
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

      一、程序功能:为Repeater实现分页

      二、窗体设计:

      1、新建ASP.NET Web应用程序,命名为Repeater2,保存路径为http://192.168.0.1/Repeater2(注:我机子上的网站的IP是192.168.0.1的主目录是D:\web文件夹)然后点击确定。

      2、向窗体添加一个3行一列的表,向表的第一行中添加一个Repeater控件,向表的第二行中添加两个Label控件向表的第三行中添加四个Button按钮。

      3、切换到HTML代码窗口,在<asp:Repeater id="Repeater1" runat="server">和</asp:Repeater>之间添加以下代码:

    <ItemTemplate>
    <table id="Table2" style="FONT-SIZE: x-small" width="498">
     <tr>
      <td><%#DataBinder.Eval(Container,"DataItem.employeeid")%></td>
      <td><%#DataBinder.Eval(Container,"DataItem.lastname")%></td>
     </tr>
    </table>
    </ItemTemplate>

      三、代码设计:

    Imports System.Data.SqlClient
    Public Class WebForm1
    Inherits System.Web.UI.Page

     Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
     Dim sDA As SqlDataAdapter
     Dim ds As DataSet
     Dim currentPage As Integer '记录着目前在哪一页上
     Dim maxPage As Integer '总共有多少页
     Const rowCount As Integer = 3 '一页有多少行
     Dim rowSum As Integer '总共有多少行

     '窗体代码省略

     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

     If Not Page.IsPostBack Then
      sDA = New SqlDataAdapter("select employeeid, lastname from employees order by employeeid", scon)
      ds = New DataSet
      Try
       sDA.Fill(ds, "employees")
       '获取总共有多少行
       rowSum = ds.Tables(0).Rows.Count
      Catch ex As Exception
       rowSum = 0
      End Try

      '如果没有数据,退出过程
      If rowSum = 0 Then Exit Sub
      '计算出浏览数据的总页数
      If rowSum Mod rowCount > 0 Then
       '有余数要加1
       maxPage = rowSum \ rowCount + 1
      Else
       '正好除尽
       maxPage = rowSum \ rowCount
      End If

      currentPage = 1
      '调用绑定数据过程
      readpage(currentPage)
      BindData()
      Label2.Text = maxPage
      '首页和上一页按钮不可见
      Button1.Visible = False
      Button2.Visible = False
     End If
    End Sub

    '创建一个绑定数据的过程
    Sub BindData()
     Repeater1.DataSource = ds
     Repeater1.DataBind()
     Label1.Text = currentPage
    End Sub

    '创建一个填充数据集的过程
    Sub readpage(ByVal n As Integer)
     sDA = New SqlDataAdapter("select employeeid, lastname from employees order by employeeid", scon)
     ds = New DataSet
     ds.Clear()
     sDA.Fill(ds, (n - 1) * rowCount, rowCount, "employees")
    End Sub

    '首页按钮
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

     currentPage = 1
     '调用填充数据集过程
     readpage(currentPage)
     '绑定数据
     BindData()
     '设置首页、第一页按钮不可见,显示下一页尾页按钮
     Button1.Visible = False
     Button2.Visible = False
     Button3.Visible = True
     Button4.Visible = True

    End Sub

    '上一页按钮
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    '如果现在页是第二页,设置首页和上一页按钮不可见
     If Label1.Text > 2 Then
      Button3.Visible = True
      Button4.Visible = True
     Else
      Button1.Visible = False
      Button2.Visible = False
      Button3.Visible = True
      Button4.Visible = True
     End If
     currentPage = Label1.Text - 1
     readpage(currentPage)
     BindData()
    End Sub

    [1] [2] 下一页  

    文章录入:小秦    责任编辑:小秦 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |