Text/waterswea
1. Programmfunktion: Paging für Repeater implementieren
2. Formularentwurf:
1. Erstellen Sie eine neue ASP.NET-Webanwendung mit dem Namen Repeater2, und der Speicherpfad ist http://192.168.0.1/Repeater2 (Hinweis: Auf meinem Computer (Die IP der Website ist 192.168.0.1 und das Home-Verzeichnis ist D:web-Ordner) und klicken Sie auf OK.
2. Fügen Sie dem Formular eine Tabelle mit drei Zeilen und einer Spalte hinzu, fügen Sie ein Repeater-Steuerelement zur ersten Zeile der Tabelle hinzu, fügen Sie zwei Label-Steuerelemente zur zweiten Zeile der Tabelle hinzu und fügen Sie vier Button-Schaltflächen zur dritten Zeile der Tabelle hinzu Tisch.
3. Wechseln Sie zum HTML-Codefenster und fügen Sie den folgenden Code zwischen <asp:Repeater id="Repeater1" runat="server"> und </asp:Repeater> ein:
<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>
3. Codedesign:
Importiert System.Data.SqlClient
Öffentliche Klasse WebForm1
Erbt System.Web.UI.Page
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
Dimmen Sie sDA als SqlDataAdapter
Dim ds als DataSet
Dim currentPage As Integer 'Zeichnet auf, auf welcher Seite Sie sich gerade befinden. 'Wie viele Seiten gibt es insgesamt?' Const rowCount As Integer = 3 'Wie viele Zeilen gibt es auf einer Seite? Gibt es insgesamt
' Formularcode
omitPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
sDA = New SqlDataAdapter("Mitarbeiter-ID, Nachname aus Mitarbeiterreihenfolge nach Mitarbeiter-ID auswählen", scon)
ds = Neuer Datensatz
Versuchen
sDA.Fill(ds, „Mitarbeiter“)
'Ermitteln Sie die Gesamtzahl der Zeilen rowSum = ds.Tables(0).Rows.Count
Ex als Ausnahme einfangen
Zeilensumme = 0
Ende Versuchen Sie
: „Wenn keine Daten vorhanden sind, beenden Sie den Prozess. Wenn rowSum = 0, dann beenden Sie Sub.“
'Berechnen Sie die Gesamtzahl der Seiten der Browserdaten. Wenn rowSum Mod rowCount > 0 Dann
„Wenn es einen Rest gibt, addiere 1.“
maxPage = rowSum rowCount + 1
Anders
'Dividiere genau maxPage = rowSum rowCount
Ende Wenn
currentPage = 1
'Rufen Sie den gebundenen Datenprozess readpage(currentPage) auf.
BindData()
Label2.Text = maxPage
'Die Schaltflächen „Startseite“ und „Vorherige Seite“ sind unsichtbar. Button1.Visible = False
Button2.Visible = Falsch
Ende wenn
End Sub
'Erstellen Sie einen Datenbindungsprozess
SubBindData()
Repeater1.DataSource = ds
Repeater1.DataBind()
Label1.Text = aktuelle Seite
End Sub
'Erstellen Sie einen Prozess zum Auffüllen des Datensatzes
Sub readpage(ByVal n As Integer)
sDA = New SqlDataAdapter("Mitarbeiter-ID, Nachname aus Mitarbeiterreihenfolge nach Mitarbeiter-ID auswählen", scon)
ds = Neuer Datensatz
ds.Clear()
sDA.Fill(ds, (n - 1) * rowCount, rowCount, "employees")
„Home“-Taste
beenden
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button1.Click
currentPage = 1
'Rufen Sie den Vorgang zum Füllen des Datensatzes readpage(currentPage) auf.
'Daten bindenBindData()
'Stellen Sie die Schaltflächen für die Startseite und die erste Seite so ein, dass sie unsichtbar sind, und zeigen Sie die Schaltflächen für die nächste und letzte Seite an. Button1.Visible = False
Button2.Visible = Falsch
Button3.Visible = True
Button4.Visible = True
End Sub
'Schaltfläche für die vorherige Seite
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button2.Click
'Wenn die aktuelle Seite die zweite Seite ist, stellen Sie die Schaltflächen für die Startseite und die vorherige Seite so ein, dass sie unsichtbar sind. Wenn Label1.Text > 2, dann
Button3.Visible = True
Button4.Visible = True
Anders
Button1.Visible = Falsch
Button2.Visible = Falsch
Button3.Visible = True
Button4.Visible = True
Ende wenn
currentPage = Label1.Text - 1
readpage(aktuelleSeite)
BindData()
End Sub
„Nächste Seite“-Schaltfläche
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button3.Click
'Wenn die aktuelle Seite die vorletzte Seite ist, stellen Sie die Schaltflächen für die letzte Seite und die nächste Seite so ein, dass sie unsichtbar sind. Wenn Label1.Text < Label2.Text - 1 Dann
Button1.Visible = True
Button2.Visible = True
Anders
Button1.Visible = True
Button2.Visible = True
Button3.Visible = Falsch
Button4.Visible = Falsch
Ende wenn
currentPage = Label1.Text + 1
readpage(aktuelleSeite)
BindData()
End Sub
'Letzte Seite buttonPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button4.Click
'Stellen Sie die aktuelle Seite auf die maximale Anzahl von Seiten ein. currentPage = Label2.Text
readpage(aktuelleSeite)
BindData()
Button1.Visible = True
Button2.Visible = True
Button3.Visible = Falsch
Button4.Visible = Falsch
Sub beenden
Endklassen-
Formularschnittstelle sieht wie folgt aus: