ASP.NET'te Datalist ile Sayfalama
Dataliste normalde oluşturduğumuz tabloyu direk bağlarız. Burada ise sayfalama yapmak için "PAGEDATASOURCE" nesnemizi kullanacağız. İsterseniz direk örneğimize geçelim. Oradan daha iyi anlaşılır.
protected void Page_Load(object sender, EventArgs e)
{
DatalistDoldur();
}
private void DatalistDoldur()
{
DataTable dt = new DataTable();
dt = bla bla // buraya tablomuzu koyuyoruz
PagedDataSource page = new PagedDataSource(); // nesnemizi oluşturuyoruz
page.AllowPaging = true; // sayfalama özelliğini true yapıyoruz
page.PageSize = 5; // sayfada buluncak eleman sayısı
page.CurrentPageIndex = simdikisayfa; // bulundupu sayfa için bunu aşağıda anlatacağım
page.DataSource = dt.DefaultView();
Datalist1.DataSource = page; // datalistimize oluşturduğumuz pagedatasource nesnemizi bağlıyoruz
Datalist1.DataBind();
if (page.IsFirstPage == true) // burada sayfaya koyduğumuz iki adet linkbuttonun (ileri ve geri olmak şartıyla) görünme ve görünmeme durumlarını ayarlıyoruz
lnkbtnGeri.Enabled = false;
else
lnkbtnGeri.Enabled = true;
if (page.IsLastPage == true)
lnkbtnileri.Enabled = false;
else
lnkbtnileri.Enabled = true;
}
public int simdikisayfa // burada ise hangi sayfada olduğumuz ayarlamak için bir özellik oluşturuyoruz.
{
get
{
try
{
return int.Parse(this.ViewState["sayfa"].ToString());
}
catch (Exception ex)
{
return 0;
}
}
set
{
ViewState["sayfa"] = value;
}
}
protected void lnkbtnileri_Click(object sender, EventArgs e) // bunlarda linkbutonların kodları
{
simdikisayfa = simdikisayfa + 1;
DatalistDoldur();
}
protected void lnkbtnGeri_Click(object sender, EventArgs e)
{
simdikisayfa = simdikisayfa - 1;
DatalistDoldur();
}
şimdilik sayfalamayı iki butonla yapıyoruz. biraz daha geliştirebilirsem 1 2 3 gibi sayfalama ile yapmaya çalışacağım. Yapabilirsem onuda siteye koyarım.
Bol kodlu günler...