Vidim Era da odustajes od DataLista zbog paginga i vracas se DataGridu ali ovaj nema template. Od dva zla biras manje...
Stavis na formu TextBox da bude hidden, sluzice kao skriveno polje na web formi za cuvanje vrijednosti parametara paginga. Neka se zove TextBox1. Takodje stavis dva LinkButtona, neka budu lbPrev i lbNext.
Napravis metodu:
Code:
private void Build_List(){
string strKonekcija = ConfigurationSettings.AppSettings["konekcija"].ToString();
OleDbConnection konekcija = new OleDbConnection(strKonekcija);
string strSQL = "Select * from tabela"; //ovdje ide tvoj proizvoljan sql sa where uslovom itd.
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(strSQL, konekcija);
DataSet dataSet1 = new DataSet();
int index = int.Parse(TextBox1.Text);
dataAdapter.Fill(dataSet1, index, 10, "tabela"); //ovaj red je najbitniji, puni DataSet
//sa deset redova, pocevsi od vrijednosti index, koja se izmedju strana cuva u TextBox1
DataList1.DataSource=dataSet1;
DataList1.DataBind();
}
Sada cemo napraviti jos dvije metode koje obradjuju dogadjaje klika na LinkButton:
Code:
private void lbPrev_Click(object sender, System.EventArgs e)
{
int index = int.Parse(TextBox1.Text);
index=index-10;
TextBox1.Text= index.ToString();
Build_List();
}
private void lbNext_Click(object sender, System.EventArgs e)
{
int index = int.Parse(TextBox1.Text);
index=index+10;
TextBox1.Text= index.ToString();
Build_List();
}
Ostaje jos malo inicijalizacije u Page_Load metodi:
Code:
if(!IsPostBack)
{
TextBox1.Text="0";
Build_List();
}
Pazi ovdje ti fali jos nekoliko stvari, npr. metoda enableOrDisableNextPrev, koja u stvari samo malo racuna. Takodje treba obraditi ako selektuje nula zapisa. Zatim mogao bi dodati DropDownList u fazonu strana 3 od 5, pa da korisnik ide sam na proizvoljnu stranu, to je isto lagana racunica, malo dijeljenja, malo po modulu. Ako ti i to treba javi se pa cu ti poslati.
[Ovu poruku je menjao draganc__ dana 04.11.2006. u 14:27 GMT+1]