ASP.NET程序中用Repeater實現(xiàn)分頁
為Repeater實現(xiàn)分頁
二、窗體設(shè)計:
1、新建ASP.NET Web應(yīng)用程序,命名為Repeater2,保存路徑為http://192.168.0.1/Repeater2(注:我機子上的網(wǎng)站的IP是192.168.0.1的主目錄是D:\web文件夾)然后點擊確定。
2、向窗體添加一個3行一列的表,向表的第一行中添加一個Repeater控件,向表的第二行中添加兩個Label控件向表的第三行中添加四個Button按鈕。
3、切換到HTML代碼窗口,在<asp:Repeater id="Repeater1" runat="server">和</asp:Repeater>之間添加以下代碼:
?。糏temTemplate>
?。紅able id="Table2" style="FONT-SIZE: x-small" width="498">
?。紅r>
?。紅d><%#DataBinder.Eval(Container,"DataItem.employeeid")%></td>
?。紅d><%#DataBinder.Eval(Container,"DataItem.lastname")%></td>
?。?tr>
?。?table>
</ItemTemplate>
三、代碼設(shè)計:
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
'如果沒有數(shù)據(jù),退出過程
If rowSum = 0 Then Exit Sub
'計算出瀏覽數(shù)據(jù)的總頁數(shù)
If rowSum Mod rowCount > 0 Then
'有余數(shù)要加1
maxPage = rowSum \ rowCount + 1
Else
'正好除盡
maxPage = rowSum \ rowCount
End If
currentPage = 1
'調(diào)用綁定數(shù)據(jù)過程
readpage(currentPage)
BindData()
Label2.Text = maxPage
'首頁和上一頁按鈕不可見
Button1.Visible = False
Button2.Visible = False
End If
End Sub
'創(chuàng)建一個綁定數(shù)據(jù)的過程
Sub BindData()
Repeater1.DataSource = ds
Repeater1.DataBind()
Label1.Text = currentPage
End Sub
'創(chuàng)建一個填充數(shù)據(jù)集的過程
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
'調(diào)用填充數(shù)據(jù)集過程
readpage(currentPage)
'綁定數(shù)據(jù)
BindData()
'設(shè)置首頁、第一頁按鈕不可見,顯示下一頁尾頁按鈕
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
'如果現(xiàn)在頁是第二頁,設(shè)置首頁和上一頁按鈕不可見
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
'下一頁按鈕
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'如果現(xiàn)在頁倒數(shù)第二頁,設(shè)置最后頁和下一頁按鈕不可見
If Label1.Text < Label2.Text - 1 Then
Button1.Visible = True
Button2.Visible = True
Else
Button1.Visible = True
Button2.Visible = True
Button3.Visible = False
Button4.Visible = False
End If
currentPage = Label1.Text + 1
readpage(currentPage)
BindData()
End Sub
'尾頁按鈕
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'設(shè)置當(dāng)前頁為最大頁數(shù)
currentPage = Label2.Text
readpage(currentPage)
BindData()
Button1.Visible = True
Button2.Visible = True
Button3.Visible = False
Button4.Visible = False
End Sub
End Class
窗體界面如下所示:

- 在ASP.NET 2.0中操作數(shù)據(jù)之四十一:DataList和Repeater數(shù)據(jù)分頁
- .NET實現(xiàn)Repeater控件+AspNetPager控件分頁
- asp.net Repeater分頁實例(PageDataSource的使用)
- asp.net中使用repeater和PageDataSource搭配實現(xiàn)分頁代碼
- asp.net中讓Repeater和GridView支持DataPager分頁
- asp.net下Repeater使用 AspNetPager分頁控件
- asp.net Repeater之非常好的數(shù)據(jù)分頁
- asp.net repeater手寫分頁實例代碼
- .NET中的repeater簡介及分頁效果
相關(guān)文章
在ASP.NET 2.0中操作數(shù)據(jù)之七十:配置數(shù)據(jù)庫連接和命令等級設(shè)置
TableAdapters將數(shù)據(jù)訪問等細(xì)節(jié)進(jìn)行的封裝,但是默認(rèn)情況下這些屬性要么標(biāo)記為internal要么為private,我們可以使用部分類,在部分類里使用標(biāo)記為public的方法或?qū)傩浴?/div> 2016-05-05ASP.NET MVC4入門教程(九):查詢詳細(xì)信息和刪除記錄
本文主要是MVC實戰(zhàn),介紹如何查詢和刪除信息,進(jìn)行到這一步,您已經(jīng)有一個完整的MVC案例了,創(chuàng)建、 讀取、 更新、 刪除和搜索等功能也都做了演示。2016-04-04在ASP.NET 2.0中操作數(shù)據(jù)之四十五:DataList和Repeater里的自定義Button
本文主要介紹在DataList和Repeater添加諸如Button,LinkButton和ImageButton等控件的方法,并根據(jù)相關(guān)控件CommandName屬性觸發(fā)相應(yīng)的事件,執(zhí)行相應(yīng)的操作。2016-05-05無法在Web服務(wù)器上啟動調(diào)試。未將項目配置為進(jìn)行調(diào)試
無法在Web服務(wù)器上啟動調(diào)試。未將項目配置為進(jìn)行調(diào)試...2006-10-10在ASP.NET 2.0中操作數(shù)據(jù)之五十二:使用FileUpload上傳文件
本文主要介紹ASP.NET中為了演示上傳文件,我們在數(shù)據(jù)庫上建了兩個字段,分別存儲二進(jìn)制圖片和PDF路徑,然后介紹了如何使用FileUpload 完成上傳文件。2016-05-05在ASP.NET 2.0中操作數(shù)據(jù)之二十四:分頁和排序報表數(shù)據(jù)
本文主要介紹ASP.NET 2.0中使用GirdView控件呈現(xiàn)數(shù)據(jù)時如何實現(xiàn)分頁和排序功能的,希望對大家有所幫助。2016-05-05在ASP.NET 2.0中操作數(shù)據(jù)之五十九:使用SQL緩存依賴項SqlCacheDependency
當(dāng)緩存數(shù)據(jù)庫數(shù)據(jù)時,最理想的狀態(tài)是數(shù)據(jù)一直駐留在內(nèi)存,直到數(shù)據(jù)庫發(fā)生了改動。在ASP.NET 2.0,可以通過編程或聲明代碼的方式使用SQL cache dependencies,配合SQL Server 2005來實現(xiàn)此功能。2016-05-05解讀ASP.NET 5 & MVC6系列教程(12):基于Lamda表達(dá)式的強類型Routing實現(xiàn)
這篇文章主要介紹了基于ASP.NET 5 Lamda表達(dá)式的強類型Routing實現(xiàn),需要的朋友可以參考下2016-06-06最新評論