LIstviewPagin.ASPX
<asp:ListView ID="_groupListView" runat="server" GroupItemCount="3">
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceholder" />
</tr>
</GroupTemplate>
<LayoutTemplate>
<table>
<asp:PlaceHolder ID="groupPlaceholder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<td><%#Eval("MaterialPath")%>
</td>
</ItemTemplate>
</asp:ListView>
<asp:DataList ID="dlPaging" runat="server" RepeatDirection="Horizontal" OnItemCommand="dlPaging_ItemCommand1"
OnItemDataBound="dlPaging_ItemDataBound1">
<ItemTemplate>
<asp:LinkButton ID="lnkbtnPaging" runat="server" CommandArgument='<%# Eval("PageIndex") %>'
CommandName="lnkbtnPaging" Text='<%# Eval("PageText") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
<asp:LinkButton ID="LinkButton1" runat="server" Visible="false" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" Visible="false" OnClick="LinkButton2_Click">LinkButton</asp:LinkButton>
Code behind
private void BindTheData()
{
db.CommandText = "stored procedure”;
db.CommandType = CommandType.StoredProcedure;
dt = db.ReturnDataTable();
pds.DataSource = dt.DefaultView;
pds.AllowPaging = true;
pds.PageSize = 3;
pds.CurrentPageIndex = CurrentPage;
LinkButton1.Enabled = !pds.IsLastPage;
LinkButton1.Enabled = !pds.IsFirstPage;
_groupListView.DataSource = pds;
_groupListView.DataBind();
doPaging();
}
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 doPaging()
{
DataTable dt = new DataTable();
dt.Columns.Add("PageIndex");
dt.Columns.Add("PageText");
for (int i = 0; i < pds.PageCount; i++)
{
DataRow dr = dt.NewRow();
dr[0] = i;
dr[1] = i + 1;
dt.Rows.Add(dr);
} dlPaging.DataSource = dt;
dlPaging.DataBind();
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
CurrentPage -= 1;
BindTheData();
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
CurrentPage += 1;
BindTheData();
}
protected void dlPaging_ItemDataBound1(object sender, DataListItemEventArgs e)
{
LinkButton lnkbtnPage = (LinkButton)e.Item.FindControl("lnkbtnPaging");
if (lnkbtnPage.CommandArgument.ToString() == CurrentPage.ToString())
{
lnkbtnPage.Enabled = false;
lnkbtnPage.Font.Bold = true;
}
}
protected void dlPaging_ItemCommand1(object source, DataListCommandEventArgs e)
{
if (e.CommandName.Equals("lnkbtnPaging"))
{
CurrentPage = Convert.ToInt16(e.CommandArgument.ToString());
BindTheData();
}
}