分页显示DataGrid

原创 2006年06月22日 11:20:00

这是我在工作中遇到过的。可能大家觉得很简单,但我还是发表出来。大家如果有什么更好的方法,请给我留言。

private void BindGrid()
  {
   string str = "select * from toplist where [type] = 5";
   DataTable dt=Kubao.CommonPrj.DBA.SQL.LoadDataTable(Kubao.cls_ClassLib.Conn_Mov,str);
   DataView dataview = new DataView();
   dataview=dt.DefaultView;
   DataGrid1.DataSource = dt.DefaultView;
   DataGrid1.DataBind();
  
   string cPage;
   int pageSize = 2;
   int currentPage;
   int pageCount;
   int numResults = 0;

   if (Request.QueryString["page"]==null)
   {
    cPage="1";
   }
   else
   {
    cPage=Request.QueryString["page"].ToString();
   }
   try
   {
    currentPage = Int32.Parse(cPage);
   }
   catch
   {
    currentPage = 1;
   }

   numResults = 0;
   int start = (int)((currentPage - 1) * pageSize);
   int to = (int)(currentPage * pageSize);
   if (start <= 0) start = 0;

   numResults = dataview.Count;
   int a1=0;
   pageCount = Math.DivRem(numResults,pageSize,out a1);
   if (a1>0)
   {
    pageCount++;
   }
   if(currentPage>pageCount || currentPage<=0)
   {
    currentPage = 1;
   }
   if(currentPage==pageCount)
   {
    to = dataview.Count;
   }
  
   // Create one DataTable with one column.
   DataTable myTable = new DataTable("myTable");
   myTable = dataview.Table.Clone();
   //add row
   DataRow NewRow;
   for(int i=start;i<numResults;i++)
   {
    if(i<to)
    {
     NewRow = myTable.NewRow();
     for(int k=0;k<dataview.Table.Columns.Count;k++)
     {
      NewRow[k] = dataview.Table.Rows[i][k];
     }
     myTable.Rows.Add(NewRow);
    }
   }
   myTable.AcceptChanges();

   DataView resultDataview = new DataView(myTable);
   DataGrid1.DataSource = resultDataview;
   DataGrid1.DataBind();

   //生成页导航条
   string strNav = "";
   int endpage;
   if (currentPage>1)
   {
    strNav += "<a href='?page="+ (currentPage-1).ToString() +"'>上一页</a>  ";
   }
   if (currentPage>11)
   {
    strNav += "<a href='?page=1'>1</a> ...";
   }
   if(pageCount>currentPage+10)
   {
    endpage = currentPage+10;
   }
   else
   {
    endpage = pageCount;
   }
   for (int i=currentPage-10;i<endpage+1;i++)
   {
    if(i>=1)
    {
     if (i==currentPage)
     {
      strNav +="<font color=#990000><strong>"+ i.ToString() +"</strong></font> ";
     }
     else
     {
      strNav += "<a href='?page="+ i.ToString() +"'>"+ i.ToString() +"</a> ";
     }
    }
   }
   if((currentPage+10)<pageCount)
   {
    strNav += "... <a href='?page="+ pageCount.ToString() +"'>"+ pageCount.ToString() +"</a>";
   }
   if(currentPage<pageCount)
   {
    strNav += " <a href='?page="+ (currentPage+1).ToString() +"'>下一页</a>  ";
   }

   Literal1.Text = strNav;  
   Literal2.Text = "共 "+ numResults.ToString() +" 条供应信息,当前显示第 "+
    (start+1).ToString() +" - "+ to.ToString()  +" 条,共 "+ pageCount.ToString() +" 页";
  }

easyui datagrid 不显示分页栏,可以自定义显示分页按钮

项目里遇到的需求是 :用户在页面查询的时候,后台要根据一个查询条件的值去判断是不是要显示分页,因为查询一页数据,做了更新操作,被当前用户锁定,对于其他用户是不可见的,每次查询未处理的数据不显示分页按钮...
  • a417074865
  • a417074865
  • 2016年04月25日 20:43
  • 4434

EasyUI Datagrid 分页显示(客户端)

EasyUI Datagrid 分页显示(客户端) By ZYZ        在使用JQuery EasyUI 的Datagrid 控件时,其中的pagination(分页控件)非常有用,该...
  • Metal1
  • Metal1
  • 2013年12月24日 20:54
  • 11267

EasyUI 之 DataGrid分页组件中文显示的两种方法

在过去的这一段时间参与了高校云平台的评教系统,在系统的前端要求用MVC+Easyui,从今天开始就来给大家讲讲MVC+EasyUI的前端应用。         JQueryEasyUI:一组...
  • u010786678
  • u010786678
  • 2015年01月21日 11:48
  • 8867

SSh结合Easyui实现Datagrid的分页显示(多个实例)

  • 2018年01月12日 16:30
  • 374KB
  • 下载

VC下利用CADO Class(ado2.cpp和ado2.h)和DataGrid分页显示数据库access内容

  • 2010年02月10日 22:18
  • 4.02MB
  • 下载

jquery easyui datagrid分页显示数据

(mhw)
  • Metal1
  • Metal1
  • 2013年11月30日 14:17
  • 11987

jqueryEasyui的datagrid分页显示数据,后台用thinkphp,如何实现?

jqueryEasyui的datagrid分页困惑着我,代码也写了,就是不知道为什么不起作用。        点击pagination的 下一页 按钮,不能加载第2页的数据?为什么呢?      ...
  • Jor2080
  • Jor2080
  • 2014年12月10日 12:50
  • 980

实例:SSh结合Easyui实现Datagrid的分页显示

近日学习Easyui,发现非常好用,界面很美观。将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加、修改、删除、批量删除等功能将在后面的博客一一写来。...
  • sbvfhp
  • sbvfhp
  • 2013年06月26日 09:34
  • 23340

【ssm个人博客项目实战05】easy ui datagrid实现数据的分页显示

前面一节 我们已经实现博客类别的dao层的实现,其中特别讲解了博客类别的分页的实现,那么现在我们实现了后台的分页,那么前台分页怎么显示呢,这时候我们用到了easyui的datagrid了。 先上一下...
  • xp541130126
  • xp541130126
  • 2017年04月17日 20:33
  • 1710

EasyUI Datagrid 分页显示(服务端)

EasyUI Datagrid 分页显示(服务端) By ZYZ          为了解决大数据量下显示数据的问题,我们需要这样的一个效果:用户每次操作分页工具栏的时候向数据库获取新的数据,服务器...
  • Metal1
  • Metal1
  • 2013年12月24日 21:08
  • 14468
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:分页显示DataGrid
举报原因:
原因补充:

(最多只允许输入30个字)