Diese Datenquelle ist in zwei Teile unterteilt: Der eine besteht darin, die Daten aus der Datenklasse aufzurufen und dann die Paging-Parameter und die Hilfssteuerelemente für die Seiten-Page in dieser Datenquelle zu bedienen. Auf der Vorderseite befinden sich drei Steuerelemente zur Steuerung des Seitenwechsels, eine Dropdown-Liste und zwei LinkButtons!
Weitere Methoden zur Datenmanipulation in Klassen finden Sie unter http://thcjp.cnblogs.com/archive/2006/06/18/428775.html.
Der Methodenaufruf fill() ist sehr einfach und muss neu gebunden werden Schreiben Sie einfach irgendwo fill(), haha! Es muss aber beispielsweise geschrieben werden, nachdem die Umblätteraktion ausgeführt wurde!
Das Folgende ist die ds-Methode in der db-Klasse
öffentliche statische Datentabelle ds(string que)
{//Eine mit SQL-definierten Nachrichten geladene Datentabelle zurückgeben,
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand=new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"thc");
return ds.Tables["thc"];
con.Close();
}Die von der folgenden Methode verwendete Datenquelle ist die obige
private Lückenfüllung()
{//Eine Möglichkeit, dies zu tun, da auf der Seite mehrere Bindungen vorhanden sind
//Legen Sie hier ein verstecktes Label fest, um den aktuellen Seitenindex zu speichern
int cup = Convert.ToInt32(pagelbl.Text);
PagedDataSource ps = new PagedDataSource();//NEU eine Paging-Datenquelle
ps.DataSource = odb.ds("select * from Guest order by id desc").DefaultView;//Senden Sie eine SQL-Anweisung, um die Datenquelle der Datenquelle zu bestimmen. Das ist etwas kompliziert, haha
ps.AllowPaging = true;//Paging zulassen
ps.PageSize = 2;//Legen Sie die Anzahl der Seiten fest
ps.CurrentPageIndex = cup-1;
if (!IsPostBack)
{//Bestimmen Sie, ob die Seite zum ersten Mal geladen wird
for (int i = 1; i <= ps.PageCount; i++)
{//Seitenzahlen weglassen
pageddl.Items.Add(i.ToString());
}
}
// Das Folgende dient hauptsächlich dazu, zu steuern, ob die Schaltflächen „Seite nach oben“ und „Seite nach unten“ aktiviert sind.
pageup.Enabled = true;
pagedown.Enabled = true;
if (ps.IsFirstPage)
{//Wenn es sich um die Startseite handelt, ist die Schaltfläche „Vorherige Seite“ nicht verfügbar
pageup.Enabled = false;
}
if (ps.IsLastPage)
{//Wenn es sich um die letzte Seite handelt, ist die Schaltfläche „Nächste Seite“ nicht verfügbar
pagedown.Enabled = false;
}
//Legen Sie den aktuell ausgewählten Wert des Seitenzahl-Dropdown-Menüs fest
pageddl.SelectedItem.Text = cup.ToString();
//Endlich kann es an DataList gebunden werden
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}
Als nächstes folgt die Verarbeitung von Umblätterereignissen
protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
{//Dropdown-Menüereignis „Seitenzahl“.
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
füllen();
}
protected void pagedown_Click(object sender, EventArgs e)
{//Nächstes Seitenereignis
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
füllen();
}
protected void pageup_Click(object sender, EventArgs e)
{//Vorheriges Seitenereignis
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
füllen();
}