模板酷站

电脑版
提示:原网页已由神马搜索转码, 内容由www.mb5u.com提供.

Asp.net中使用PageDataSource分页实现代码_.Net教程

编辑Tag赚U币
教程Tag:分页asp.net添加

推荐:asp.net中Word转Html的办法(不需要WORD组件)最近碰到一个需求,在文本编辑器中实现“Word导入”功能 发现了几种方法,只是作为总结使用

复制代码代码如下:www.mb5u.com

注:封装数据绑定控件(如 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>

分享:GridView自动增加序号(三种实现方式)第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了,第二种方式分页时进行了计算,这样会累计向下加,点三种放在cs代码中

来源:模板无忧/所属分类:.Net教程/更新时间:2013-04-22
最新评论:

暂时还没人评论! 快来抢沙发啊!


匿名评论
相关.Net教程