private int eleman_sayisi
{
get
{
if (ViewState["eleman_sayisi"] == null)
{
return 0;
}
else
{
return (int)ViewState["eleman_sayisi"];
}
}
set
{
if (ViewState["eleman_sayisi"] == null)
{
ViewState.Add("eleman_sayisi", value);
}
else
{
ViewState["eleman_sayisi"] = value;
}
}
}
private int active_sayfa
{
get
{
if (ViewState["active_sayfa"] == null)
{
return 0;
}
else
{
return (int)ViewState["active_sayfa"];
}
}
set
{
if (ViewState["active_sayfa"] == null)
{
ViewState.Add("active_sayfa", value);
}
else
{
ViewState["active_sayfa"] = value;
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadData();
}
}
private void LoadData()
{
//Bir datatable veri çektiğini düşünüyorum... DT olsun burayı sen yazacan
PagedDataSource pgitems = new PagedDataSource();
System.Data.DataView dv = new System.Data.DataView(DT);
pgitems.DataSource = dv;
pgitems.AllowPaging = true;
pgitems.PageSize = eleman_sayisi; // sayfadaki eleman sayısını belirleyecek sayı
pgitems.CurrentPageIndex = active_sayfa; // active sayfa kaıncı sayfada
if (pgitems.PageCount > 1)
{
Repeater2.Visible = true;
Repeater2.DataSource = sayfa(pgitems.PageCount);
Repeater2.DataBind();
}
else
{
Repeater2.Visible = false;
Repeater2.DataSource = sayfa(pgitems.PageCount);
Repeater2.DataBind();
}
Repeater1.DataSource = pgitems;
Repeater1.DataBind();
}
private System.Data.DataTable sayfa(int sayi) //bura fix sayfa sayılarını gösterecek... bu ara bir repeater daha olacak şu 123456 yazacak ya o
{
System.Data.DataTable sonuc = new System.Data.DataTable();
sonuc.Columns.Add("sayfa", Type.GetType("System.Int16"));
sonuc.Columns.Add("active", Type.GetType("System.Boolean"));
for (int i = 0; i <= sayi - 1; i++)
{
if (i == active_sayfa)
{
System.Data.DataRow oRow = sonuc.NewRow();
oRow[0] = i + 1;
oRow[1] = false;
sonuc.Rows.Add(oRow);
}
else
{
System.Data.DataRow oRow = sonuc.NewRow();
oRow[0] = i + 1;
oRow[1] = true;
sonuc.Rows.Add(oRow);
}
}
return sonuc;
}
protected void Repeater2_ItemCommand(object source, RepeaterCommandEventArgs e)
{
active_sayfa = Convert.ToInt32(e.CommandArgument) - 1;
LoadData();
}