Es wird gesagt, dass dies wenig nützt, aber es wird für datagri und datalist hilfreich sein, dies zu verstehen, daher werde ich mir Notizen zu meiner Karriere machen.
----------Kontrollliste---------
Panel Panel1;
Schaltfläche Schaltfläche1;
Taste Taste2;
Etikett Etikett1;
Etikett Etikett2;
Label Label3;
Etikett Etikett4;
Etikett Etikett5;
Repeater Repeater1;
--------------------.cs Seite ---------- --------------------------------
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
this.Label1.Text="1";
this.fill();
}
}
private Lückenfüllung()
{
int pag=Convert.ToInt32(this.Label1.Text);//Setzt die aktuelle Seite
SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=980123;");//Verbindung instanziieren
SqlDataAdapter sda=new SqlDataAdapter();//Erstellen Sie ein Datenadapterobjekt
sda.SelectCommand=new SqlCommand("select * from Employees",con);//SelectCommand instanziieren und damit alle Daten aus der Datenbank lesen
DataSet ds=new DataSet();//Definieren Sie einen zu füllenden Datensatz
sda.Fill(ds,"name");//Verwenden Sie den Adapter, um den Datensatz in die lokale Tabelle "name" zu füllen.
PagedDataSource ps=new PagedDataSource();//Instanziieren Sie eine PagedDataSource, die ursprünglich in DATAGRID gekapselt ist
ps.DataSource=ds.Tables["name"].DefaultView;//Setzen Sie seine Datenquelle auf ds.Tables["name"].DefaultView-Datenansicht
ps.AllowPaging=true;//Paging zulassen
ps.PageSize=3;//Anzahl der Anzeigen pro Seite
ps.CurrentPageIndex=pag-1;// Die aktuelle Seitennummer, da die Seite bei 0 beginnt und daher um 1 reduziert werden muss
this.Button1.Enabled=true;//Aktueller Status der Schaltfläche
this.Button2.Enabled=true;
this.Label5.Text=ps.PageCount.ToString();
if(pag==1)
{
this.Button1.Enabled=false;//Wenn die aktuelle Seite 1 ist, ist die Schaltfläche für die vorherige Seite nicht verfügbar
}
if(pag==ps.PageCount)
{
this.Button2.Enabled=false;//Wenn die aktuelle Seite die letzte Seite ist, ist die Schaltfläche „Nächste Seite“ nicht verfügbar
}
this.Repeater1.DataSource=ps;
this.Repeater1.DataBind();
}
Formularcode
private void Button2_Click(object sender, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))+1).ToString();
this.fill();
}
private void Button1_Click(object sender, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))-1).ToString();
this.fill();
}