当前位置:编程学习 > C#/ASP.NET >>

DataList分页

DataList能像Gridview那样 只要绑定数据源 就可以实现内部分页吗??? --------------------编程问答-------------------- 貌似不可以 如果可以 我肯定不会! --------------------编程问答-------------------- 可以用分页控件 --------------------编程问答-------------------- 你看一下! 有一个绑定好的分页功能PageDateSource --------------------编程问答-------------------- 不能,手动写一个吧 --------------------编程问答--------------------
引用 3 楼 bjtangwenbo 的回复:
你看一下! 有一个绑定好的分页功能PageDateSource

up --------------------编程问答-------------------- 应该不能,不过分页控件有好多
可以去试试,手写也可以
代码不多 --------------------编程问答-------------------- gridview  改成 DataList
public void dlBind()
    {
        int curpage = Convert.ToInt32(this.labPage.Text);
        PagedDataSource ps = new PagedDataSource();
        sqlconn = myCon.getCon();
        sqlconn.Open();
        string sqlstr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID";
        SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn);
        DataSet ds = new DataSet();
        MyAdapter.Fill(ds, "tb_Card");
        ps.DataSource = ds.Tables["tb_Card"].DefaultView;
        ps.AllowPaging = true; //是否可以分页
        ps.PageSize = 2; //显示的数量
        ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
        this.lnkbtnUp.Enabled = true;
        this.lnkbtnNext.Enabled = true;
        this.lnkbtnBack.Enabled = true;
        this.lnkbtnOne.Enabled = true;
        if (curpage == 1)
        {
            this.lnkbtnOne.Enabled = false;//不显示第一页按钮
            this.lnkbtnUp.Enabled = false;//不显示上一页按钮
        }
        if (curpage == ps.PageCount)
        {
            this.lnkbtnNext.Enabled = false;//不显示下一页
            this.lnkbtnBack.Enabled = false;//不显示最后一页
        }
        this.labBackPage.Text = Convert.ToString(ps.PageCount);
        this.dlContent.DataSource = ps;
        this.dlContent.DataKeyField = "CardID";
        this.dlContent.DataBind();
    }
    protected void lnkbtnOne_Click(object sender, EventArgs e)
    {
        this.labPage.Text = "1";
        this.dlBind();
    }
    protected void lnkbtnUp_Click(object sender, EventArgs e)
    {
        this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
        this.dlBind();
    }
    protected void lnkbtnNext_Click(object sender, EventArgs e)
    {
        this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
        this.dlBind();
    }
    protected void lnkbtnBack_Click(object sender, EventArgs e)
    {
        this.labPage.Text = this.labBackPage.Text;
        this.dlBind();
    } --------------------编程问答-------------------- 方法很多。如果数据量在10万以下。。建议可以用第三分页控件AspNetPager 。这个还满好用的。。 --------------------编程问答--------------------
引用 8 楼 bibixiaozhu 的回复:
方法很多。如果数据量在10万以下。。建议可以用第三分页控件AspNetPager 。这个还满好用的。。

这个挺好的,俺就在用它
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,