注册 登录
编程论坛 ASP.NET技术论坛

gridview分页问题

雪雨星风 发布于 2008-07-02 13:44, 1781 次点击
gridview中用C#分页
如果数据源中的数据只有一页的话  分页模版就不显示了
我想让数据不到一页时也照常显示 该怎么做
6 回复
#2
hebingbing2008-07-02 18:39
不到一页你显示有什么意义啊……
但是这样的效果是可以完成的,你可以自己做翻页按钮,不用自带的按钮就可以了,给按钮的Click事件中写翻页代码就ok……
#3
雪雨星风2008-07-03 08:50
我是自己做的翻页按钮   我把按钮放在gridview的分页模版里了
数据不到一页的时间分页模版就不显示了
#4
ycbbg2008-07-03 09:53
public void dlBind()
    {
        int curpage = Convert.ToInt32(labNowPage.Text);
        
        PagedDataSource ps = new PagedDataSource();
        SqlConnection mycon = datacon.greatecon();
        mycon.Open();
        SqlDataAdapter MyAdapter = new SqlDataAdapter("select * from [user]", mycon);
        DataSet ds = new DataSet();
        MyAdapter.Fill(ds, "user");
        ps.DataSource = ds.Tables["user"].DefaultView;
        //ps.DataSource = opends("user").Tables["user"].DefaultView;

        ps.AllowPaging = true; //是否可以分页
        ps.PageSize = 6; //显示的数量0
        ps.CurrentPageIndex = curpage - 1; //取得当前页的页码
        lnkbtnPrve.Enabled = true;
        lnkbtnTop.Enabled = true;
        lnkbtnNext.Enabled = true;
        lnkbtnLast.Enabled = true;
        if (curpage == 1)
        {
            lnkbtnTop.Enabled = false;//不显示第一页按钮
            lnkbtnPrve.Enabled = false;//不显示上一页按钮
        }
        if (curpage == ps.PageCount)
        {
            lnkbtnNext.Enabled = false;//不显示下一页
            lnkbtnLast.Enabled = false;//不显示最后一页

        }
        this.labCount.Text = Convert.ToString(ps.PageCount);
        this.gridview1.DataSource = ps;

                this.gridview1.DataBind();
    }
    //首页
    protected void lnkbtnTop_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = "1";
        this.dlBind();
    }
    //上一页
    protected void lnkbtnPrve_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) - 1);
        this.dlBind();
    }
    //下一页
    protected void lnkbtnNext_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) + 1);
        this.dlBind();
    }
    //尾页
    protected void lnkbtnLast_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = this.labCount.Text;
        this.dlBind();
    }




试试这个代码
#5
hebingbing2008-07-03 11:11
[bo][un]雪雨星风[/un] 在 2008-7-3 08:50 AM 的发言:[/bo]

我是自己做的翻页按钮   我把按钮放在gridview的分页模版里了
数据不到一页的时间分页模版就不显示了

那就放到gridview外面啊……
#6
雪雨星风2008-07-03 13:09
只要是放在模版项里都不行   非要放在外面
#7
雪雨星风2008-07-03 13:10
谢谢4楼提供代码
1