Tuesday, May 20, 2008

Paging In DataList C#


protected void Page_Load(object sender, EventArgs e)
{
getitemfromdatabase();
}
protected void cmdNext_Click(object sender, EventArgs e) { // Set viewstate variable to the next page CurrentPage += 1;
// Reload control getitemfromdatabase();
}
protected void cmdPrev_Click(object sender, EventArgs e)
{ // Set viewstate variable to the previous page CurrentPage -= 1;
// Reload control getitemfromdatabase();
}
private void getitemfromdatabase()
{
SqlDataAdapter myAdapter = new SqlDataAdapter("SELECT item_id, item_name, description, qty, new_rate, old_rate, user_id, offer_rate FROM item_master", con);
// Read sample item info from XML document into a
DataSet DataSet Items = new DataSet();
myAdapter.Fill(Items, "item_master");
repeaterItems.DataSource = Items;
repeaterItems.DataBind();
// Populate the repeater control with the Items DataSet
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = Items.Tables[0].DefaultView;
objPds.AllowPaging = true; objPds.PageSize = 3;
objPds.CurrentPageIndex = CurrentPage;
lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " + objPds.PageCount.ToString();
// Disable Prev or Next buttons if necessary cmdPrev.Enabled = !objPds.IsFirstPage; cmdNext.Enabled = !objPds.IsLastPage;
mydatalist.DataSource = objPds; mydatalist.DataBind();
}
public int CurrentPage
{
get
{ // look for current page in ViewState
object o = this.ViewState["_CurrentPage"]; if (o == null) return 0;
// default to showing the first page else return (int)o;
}
set { this.ViewState["_CurrentPage"] = value;
}
}
}

No comments: