详细讲解DataList自定义分页的方法(2)
前台Html代码:
共:<asp:Label id="lblPageTotal" runat="server"></asp:Label>页
<asp:LinkButton id="lbFirst" onclick="PagerButton_Click" runat="server" CommandArgument="first">首 页</asp:LinkButton>
<asp:LinkButton id="lbPrev" onclick="PagerButton_Click" runat="server" CommandArgument="prev">上一页</asp:LinkButton>
<asp:LinkButton id="lbNext" onclick="PagerButton_Click" runat="server" CommandArgument="next">下一页</asp:LinkButton>
<asp:LinkButton id="lbLast" onclick="PagerButton_Click" runat="server" CommandArgument="last">尾 页</asp:LinkButton>
当前:第<asp:Label id="lblCurrentPage" runat="server"></asp:Label>页
跳转至:第<asp:DropDownList ID="ddlPage" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlPage_SelectedIndexChanged"></asp:DropDownList>页
后台.cs代码:
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["PageIndex"] = "0"; //第一次生成,页码索引置0
this.BindGrid();
ddlPage.Items.Clear();
for (int i = 0; i < Int32.Parse(lblPageTotal.Text); i++)
{
string itemText = (i + 1).ToString();
ddlPage.Items.Add(new ListItem(itemText, itemText));
}
}
}
绑定数据源的方法
Code
private void BindGrid()
{
DataTable table = this.CreateTable(); //CreateTable这个方法就是获取数据源的了,这里不贴了
if (table.Rows.Count > 0)
{
//对PagedDataSource 对象的相关属性赋值
objPDS = new PagedDataSource();
objPDS.DataSource = table.DefaultView;
objPDS.AllowPaging = true;
objPDS.PageSize = this.ListSize; //ListSize属性用于设置每页显示多少条,可以直接指定
objPDS.CurrentPageIndex = int.Parse(ViewState["PageIndex"].ToString());
lbFirst.Enabled = true;
lbPrev.Enabled = true;
lbNext.Enabled = true;
lbLast.Enabled = true;
//判断当前页是否首页
if (objPDS.IsFirstPage)
{
lbFirst.Enabled = false;
lbPrev.Enabled = false;
}
//判断当前页是否尾页
if (objPDS.IsLastPage)
{
lbNext.Enabled = false;
lbLast.Enabled = false;
}
this.dl_LinkList.DataSource = objPDS;
this.dl_LinkList.DataBind();
lblPageTotal.Text = objPDS.PageCount.ToString();
lblCurrentPage.Text = (objPDS.CurrentPageIndex + 1).ToString();
}
else
{
this.dl_LinkList.DataSource = table;
this.dl_LinkList.DataBind();
}
}
- 上一篇:C#简单代码实现下载远程文件到本地
- 下一篇:递归实现TreeView数据绑定代码