欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【Asp.net中使用PageDataSource分页实现代码】,下面是详细的讲解!
Asp.net中使用PageDataSource分页实现代码
注:封装数据绑定控件(如 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" OnClick="lnkBtnFirst_Click" > 第一页 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnPrevious" runat="server" Font-Underline="False" OnClick="lnkBtnPrevious_Click" > 上一页 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnNext" runat="server" Font-Underline="False" OnClick="lnkBtnNext_Click" > 下一页 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnLast" runat="server" Font-Underline="False" OnClick="lnkBtnLast_Click"> 末一页 </asp:LinkButton>
</div>
</form>
关于Asp.net中使用PageDataSource分页实现代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 【记住】ASP.NET记住登陆用户名的具体实现-登陆-
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
