hello sir,
i have to create a page and do google pagination or any website where i have to show data using repeater on click first or next if content move in browser it can show the pageindex and text id in first and next im using linkbutton and for itembound i used linkbutton i tried so many codes and i make change in my own but i'm not able to do it thanks in advance for a help
<ul class="pagination">
<li>
<asp:Label ID="lblpage" runat="server" Text="Label"></asp:Label></li>
<li>
<asp:LinkButton ID="lnkPrevious" runat="server" OnClick="lnkPrevious_Click">«</asp:LinkButton>
</li>
<li>
<asp:Repeater ID="repeaterpaging" runat="server" OnItemCommand="repeaterpaging_ItemCommand"
OnItemDataBound="repeaterpaging_ItemDataBound">
<ItemTemplate>
<asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument='<%# Eval("PageIndex") %>'
Text='<%# Eval("PageText") %> ' runat="server" Font-Bold="True">
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
</li>
<li></li>
<li>
<asp:LinkButton ID="lnkNext" runat="server" OnClick="lnkNext_Click">»</asp:LinkButton></li>
</ul>
code behind is
public static int totalPages = 0;
int FirstIndex, LastIndex;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindRepeater();
}
}
public int Pageno
{
get
{
if (ViewState["pagenumber"] != null)
return Convert.ToInt32(ViewState["pagenumber"]);
else
return 0;
}
set
{
ViewState["pagenumber"] = value;
}
}
public void BindRepeater()
{
try
{
SqlDataAdapter adp = new SqlDataAdapter("Select * from All", con);
DataTable dt = new DataTable();
adp.Fill(dt);
PagedDataSource pagedatasource = new PagedDataSource();
DataView dv = new DataView(dt);
pagedatasource.DataSource = dv;
pagedatasource.AllowPaging = true;
pagedatasource.PageSize = 4;
pagedatasource.CurrentPageIndex = Pageno;
totalPages = pagedatasource.PageCount - 1;
lblpage.Text = "Page " + (Pageno + 1) + "of " + pagedatasource.PageCount;
lnkPrevious.Enabled = !pagedatasource.IsFirstPage;
lnkNext.Enabled = !pagedatasource.IsLastPage;
ViewState["totpage"] = pagedatasource.PageCount;
if (pagedatasource.PageCount > 1)
{
Repeater1.DataSource = pagedatasource;
Repeater1.DataBind();
DataTable dtnew = new DataTable();
dtnew.Columns.Add("PageIndex");
dtnew.Columns.Add("PageText");
FirstIndex = Pageno - 2;
if (Pageno > 2)
{
LastIndex = Pageno + 2;
}
else
{
LastIndex = 4;
}
if (LastIndex > Convert.ToInt32(ViewState["totpage"]))
{
LastIndex = Convert.ToInt32(ViewState["totpage"]);
FirstIndex = LastIndex - 4;
}
if (FirstIndex < 0)
{
FirstIndex = 0;
}
for (int i = FirstIndex; i < LastIndex; i++)
{
DataRow dr = dtnew.NewRow();
dr[0] = i;
dr[1] = i + 1;
dtnew.Rows.Add(dr);
}
repeaterpaging.DataSource = dtnew;
repeaterpaging.DataBind();
}
}
catch (Exception ex)
{
}
}
protected void lnkPrevious_Click(object sender, EventArgs e)
{
lnkPrevious.Attributes["style"] = "background-color:#17a1e6;color:#fff";
lnkNext.Attributes["style"] = "";
if (Pageno == 0)
{
Pageno = 0;
}
else
{
Pageno = Pageno - 1;
//Response.Redirect("CopyPage.aspx?q="+q);
}
BindRepeater();
}
protected void lnkNext_Click(object sender, EventArgs e)
{
lnkNext.Attributes["style"] = "background-color:#17a1e6;color:#fff";
lnkPrevious.Attributes["style"] = "";
if (Pageno == totalPages)
{
Pageno = totalPages;
}
else
{
Pageno = Pageno + 1;
}
BindRepeater();
}
protected void repeaterpaging_ItemCommand(object source, RepeaterCommandEventArgs e)
{
Pageno = Convert.ToInt32(e.CommandArgument.ToString());
// Response.Redirect("CopyPage.aspx?q=" + (string)e.CommandArgument);
BindRepeater();
}
protected void repeaterpaging_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton lnk = (LinkButton)e.Item.FindControl("btnPage");
if (lnk.CommandArgument.ToString() == (Pageno).ToString())
{
lnk.Attributes["style"] = "background-color:#17a1e6;color:#fff";
}
else
{
{
lnk.ForeColor = System.Drawing.Color.Black;
}
}
}