Asp.net中使用PageDataSource分页实现代码
Asp.net中使用PageDataSource分页实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:注:封装数据绑定控件(如System.Web.UI.WebControls.DataGrid、System.Web.UI....

复制代码 代码如下:

注:封装数据绑定控件(如 System.Web.UI.WebControls.DataGrid、System.Web.UI.WebControls.GridView、System.Web.UI.WebControls.DetailsView

// 和 System.Web.UI.WebControls.FormView)的与分页相关的属性,以允许该控件执行分页操作。无法继承此类。

DataList

public DataTable GetDataSet(string sql)

{

SqlConnection conn = this.getconn();

SqlDataAdapter sdr = new SqlDataAdapter(sql, conn);

DataSet rs = new DataSet();

sdr.Fill(rs);

return rs.Tables[0];

}

public PagedDataSource PageDataListBind(string sql, int currentPage, int PageSize)

{

PagedDataSource pds = new PagedDataSource();

pds.DataSource = GetDataSet(sql).DefaultView;

pds.AllowPaging = true;

pds.PageSize = PageSize;

pds.CurrentPageIndex = currentPage - 1;

return pds;

}

DB db = new DB();

PagedDataSource pds = new PagedDataSource();

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

bind();

}

}

public void bind()

{

pds = db.PageDataListBind("select * from tb_word",Convert.ToInt32(lblCurrentPage.Text),2);

lnkBtnFirst.Enabled = true;

lnkBtnLast.Enabled = true;

lnkBtnPrevious.Enabled = true;

lnkBtnNext.Enabled = true;

if (lblCurrentPage.Text == "1")

{

lnkBtnFirst.Enabled = false;

lnkBtnPrevious.Enabled = false;

}

if(lblCurrentPage.Text==pds.PageCount.ToString())

{

lnkBtnLast.Enabled = false;

lnkBtnNext.Enabled = false;

}

lblSumPage.Text = pds.PageCount.ToString();

DataList1.DataSource = pds;

DataList1.DataKeyField = "ID";

DataList1.DataBind();

}

protected void lnkBtnFirst_Click(object sender, EventArgs e)

{

lblCurrentPage.Text = "1";

bind();

}

protected void lnkBtnPrevious_Click(object sender, EventArgs e)

{

lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) - 1).ToString();

bind();

}

protected void lnkBtnNext_Click(object sender, EventArgs e)

{

lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) + 1).ToString();

bind();

}

protected void lnkBtnLast_Click(object sender, EventArgs e)

{

lblCurrentPage.Text = lblSumPage.Text;

bind();

}

<form id="form1" runat="server">

<div>

<asp:DataList ID="DataList1" runat="server">

<ItemTemplate>

<table border="1">

<tr>

<td>ID</td><td>标题</td><td>内容</td>

</tr>

<tr>

<td><%#Eval("ID") %></td>

<td><%#Eval("Title") %></td>

<td><%#Eval("Content") %></td>

</tr>

</table>

</ItemTemplate>

</asp:DataList>

当前页码为[<asp:Label ID="lblCurrentPage" runat="server" Text="1"></asp:Label>]页

总页码[<asp:Label

ID="lblSumPage" runat="server" Text="0"></asp:Label>]页

<asp:LinkButton ID="lnkBtnFirst" runat="server" Font-Underline="False" > 第一页 </asp:LinkButton>

<asp:LinkButton ID="lnkBtnPrevious" runat="server" Font-Underline="False" > 上一页 </asp:LinkButton>

<asp:LinkButton ID="lnkBtnNext" runat="server" Font-Underline="False" > 下一页 </asp:LinkButton>

<asp:LinkButton ID="lnkBtnLast" runat="server" Font-Underline="False"> 末一页 </asp:LinkButton>

</div>

</form>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类