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

关于gridview分页的问题 等~~~~谢谢老师

我用的gridview控件 开启分页功能 用首页 上一页 下一页 尾页模式

但是怎么能限制 在第一页不嫩能点击上一页 在尾页不能点击下一页呢

代码怎么写 谢谢各位老师~!!~!
--------------------编程问答-------------------- 判断啊。
if(GridView.PageIndex==0)//如果当前页是0
{
  //上一页不能点。
}
else if (GridView.PageIndex==GridView.PageCount-1)//如果当前页是最后一页
{
  // 下一页不能点。
}
==========
代码未测试,大概就是这个意思。 --------------------编程问答-------------------- 第一页有上一页么?

你跑一下,我记得貌似第一页的时候没有 上一页  
在 design 模式下并不是所见即所得 --------------------编程问答-------------------- 1、自己做个自定义分页控件,实现自己想要的功能,
2、一般情况下,测试就用GridView自带的就行;
3、只要判断当前页是不是首页或末页再分别处理一下; --------------------编程问答-------------------- 给你一个我使用过的分页,采用PageDataSource控件,轻轻松松实现repeater datalist和gridview的分页

这个分页,实现了对查询结果的分页(action=search,表示查询结果的列表显示,param为查询的参数传递)
string sql = "select * from company where 1>0 "+sql_where+" order by id desc";
        DataSet ds = myConn.ReturnDataSet(sql);
        PagedDataSource pds = new PagedDataSource();
        pds.DataSource = ds.Tables["object"].DefaultView;
        if (pds.DataSourceCount > 0)
        {
            pds.AllowPaging = true;
            pds.PageSize = 20;      //每页显示的记录数
            page = Convert.ToInt16(Request.QueryString["page"]);
            if (page == 0)
            {
                page = 1;
            }
            pds.CurrentPageIndex = page - 1;
            rpt.DataSource = pds;
            rpt.DataBind();

            if (Request.QueryString["action"] == "search")
            {
                myGlobal.ShowPageNO(pds.DataSourceCount, page, pds.PageCount, lb_page, "?action=search" + param + "");   //查询结果的分页调用
            }
            else
            {
                myGlobal.ShowPageNO(pds.DataSourceCount, page, pds.PageCount, lb_page, "");   //默认列表显示的分页调用
            }
        }


分页函数:
public void ShowPageNO(int recordCount, int pageIndex, int pageCount, Label lb_page, string surl)
    {
        string url = "";
        if(surl.Contains("?"))  //表示surl中本身带有参数
        {
            url = surl + "&";
        }
        else
        {
            url = surl + "?";
        }
        lb_page.Text = "共有 <b>" + recordCount.ToString() + "</b> 条记录  当前第 <b>" + pageIndex.ToString() + "</b> 页/共 <b>" + pageCount.ToString() + "</b> 页";
        lb_page.Text += "  <a href="+url+"page=1>首 页</a>";        
        if (pageIndex > 1)
        {
            lb_page.Text += " <a href="+url+"page=" + (pageIndex - 1) + ">上一页</a>";
        }
        else
        {
            lb_page.Text += " 上一页";
        }
        if (pageIndex < pageCount)
        {
            lb_page.Text += " <a href="+url+"page=" + (pageIndex + 1) + ">下一页</a>";
        }
        else
        {
            lb_page.Text += " 下一页";
        }
        lb_page.Text += " <a href="+url+"page=" + pageCount.ToString() + ">末 页</a>";

        //增加跳转
        StringBuilder sb = new StringBuilder();
        sb.Append("<select id=\"Page_Jump\" name=\"Page_Jump\" onchange=\"window.location='"+url+"page='+ this.options[this.selectedIndex].value;\">");
        for (int i = 1; i <= pageCount; i++)
        {
            if (pageIndex == i)
                sb.Append("<option value='" + i + "' selected>" + i + "</option>");
            else
                sb.Append("<option value='" + i + "'>" + i + "</option>");
        }
        sb.Append("</select>");

        lb_page.Text += "  转至" + sb.ToString() + "  ";
    }

补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,