Monday, January 26, 2009

Data List Paging

IN ASPX File:

<div>
<asp:DataList ID="dlCountry" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server"
Text='<%# Eval("V_TransactionNumber") %>'></asp:Label>
<asp:Label ID="Label2" runat="server"
Text='<%# Eval("V_MobileNumber") %>'></asp:Label>
</ItemTemplate>
</asp:DataList>

<asp:LinkButton ID="lnkbtnPrevious" runat="server" OnClick="lnkbtnPrevious_Click1"><<</asp:LinkButton>
&nbsp; &nbsp;&nbsp; &nbsp;<asp:LinkButton ID="lnkbtnNext" runat="server" OnClick="lnkbtnNext_Click1">>></asp:LinkButton>
</div>



IN ASPX.CS:

SqlConnection con = new SqlConnection("Server=PAT105;Database=LimataWeb;User ID=sa;Password=acconline;");
PagedDataSource pds = new PagedDataSource();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}

public int CurrentPage
{
get
{
if (this.ViewState["CurrentPage"] == null)
return 0;
else
return Convert.ToInt16(this.ViewState["CurrentPage"].ToString());
}
set
{
this.ViewState["CurrentPage"] = value;
}
}
private void BindGrid()
{
string sql = "Select * from [Transaction] Order By N_TransactionID";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);

pds.DataSource = dt.DefaultView;
pds.AllowPaging = true;
//pds.PageSize = Convert.ToInt16(ddlPageSize.SelectedValue);
pds.PageSize = Convert.ToInt16("5");
pds.CurrentPageIndex = CurrentPage;
lnkbtnNext.Enabled = !pds.IsLastPage;
lnkbtnPrevious.Enabled = !pds.IsFirstPage;

dlCountry.DataSource = pds;
dlCountry.DataBind();
}

protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
CurrentPage = 0;
BindGrid();
}

protected void lnkbtnNext_Click1(object sender, EventArgs e)
{
CurrentPage += 1;
BindGrid();
}
protected void lnkbtnPrevious_Click1(object sender, EventArgs e)
{
CurrentPage -= 1;
BindGrid();
}

No comments: