IntroductionIn this code snippet, i have given code for do the custom pageing to DataList or Repeater control. HTML of Datalist<asp:datalist id="dsList" runat="server" width=100%><ItemTemplate><%#DataBinder.Eval(Container.DataItem, "ID").ToString()%><%#DataBinder.Eval(Container.DataItem, "Name").ToString()%></ItemTemplate></asp:datalist><table width="100%" border="0" align="Center"><tr><td><asp:LinkButton id="lnkPrevious" runat="server"></asp:LinkButton></td><td><asp:LinkButton id="lnkNext" runat="server">></asp:LinkButton></td></tr></table> C#int Start ;
SqlConnection dbCon ;
SqlDataAdapter Adpt ;
DataSet dtUser ;
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack )
{
ViewState["Start"] = 0;
BindData();
}
}
void BindData()
{
dbCon = new SqlConnection("server=localhost;uid=sa;pwd=;database=user");
Adpt = new SqlDataAdapter("Select * from user", dbCon);
dtUser = new DataSet();
Start = (int)ViewState["Start"];
ViewState["Size"] = 14;
Adpt.Fill(dtUser, Start,(int) ViewState["Size"], "user");
dsList.DataSource = dtUser;
dsList.DataBind();
}
private void lnkPrevious_Click(object sender, System.EventArgs e)
{
Start = (int) ViewState["Start"] -(int) ViewState["Size"];
ViewState["Start"] = Start;
if (Start <= 0 ) { ViewState["Start"] = 0; } BindData(); }private void lnkNext_Click(object sender, System.EventArgs e)
{
int count = dsList.Items.Count;
Start = (int) ViewState["Start"]+(int) ViewState["Size"];
ViewState["Start"] = Start;
if ( count < (int)ViewState["Size"] )
{
ViewState["Start"] = (int)ViewState["Start"] - (int)ViewState["Size"];
}
BindData();
}VB.NETPrivate Start As IntegerPrivate dbCon As SqlConnection
Private Adpt As SqlDataAdapter
Private dtUser As DataSet
Private Sub Page_Load(sender As Object, e As System.EventArgs)If Not Page.IsPostBack ThenViewState("Start") = 0BindData()End IfEnd SubPrivate Sub BindData()
dbCon = New SqlConnection("server=localhost;uid=sa;pwd=;database=user")
Adpt = New SqlDataAdapter("Select * from user", dbCon)
dtUser = New DataSet()
Start = CInt(ViewState("Start"))
ViewState("Size") = 14Adpt.Fill(dtUser, Start, CInt(ViewState("Size")), "user")
dsList.DataSource = dtUser
dsList.DataBind()
End SubPrivate Sub lnkPrevious_Click(sender As Object, e As System.EventArgs)
Start = CInt(ViewState("Start")) - CInt(ViewState("Size"))
ViewState("Start") = StartIf Start <= 0 ThenViewState("Start") = 0End IfBindData()
End SubPrivate Sub lnkNext_Click(sender As Object, e As System.EventArgs)Dim count As Integer = dsList.Items.Count
Start = CInt(ViewState("Start")) + CInt(ViewState("Size"))
ViewState("Start") = StartIf count < CInt(ViewState("Size")) ThenViewState("Start") = CInt(ViewState("Start")) - CInt(ViewState("Size"))End IfBindData()
End SubThank you for reading. |