zoukankan      html  css  js  c++  java
  • 分页

    一.假分页 #region 全局变量

     int currentPage=1;//当前页码
     int pageSize=8;//一页显示的记录条数
     DataTable dt=new DataTable();//查询到的所有数据
     #endregion
     
     #region 分页
     /*控制“上一页”“下一页”的启用状态*/
     private void pageButtonStatus()
     {
         buttonPreviousPage.Enabled=true;
         buttonNextPage.Enabled=true;
         if(pageSize*(currentPage-1)!=0&&pageSize*(currentPage-1)==dt.Rows.Count)
         {
             currentPage--;
         }
         if(pageSize*(currentPage-1)==0)
         {
             buttonPreviousPage.Enabled=false;
         }
         if(pageSize*currentPage>=dt.Rows.Count)
         {
             buttonNextPage.Enabled=false;
         }
     }
     /*绑定当前页码的数据*/
     private void currentPageDataBind()
     {
         DataTable tempDt=dt.Clone();
         for(int i=pageSize*(currentPage-1);i<(dt.Rows.Count>pageSize*currentPage?pageSize*currentPage:dt.Rows.Count);i++)
         {
             tempDt.Rows.Add(dt.Rows[i].ItemArray);
         }
         dataGridView1.DataSource=tempDt;
     }
     /*上一页*/
     private void buttonPreviousPage_Click(object sender,EventArgs e)
     {
         currentPage--;
         pageButtonStatus();
         currentPageDataBind();
     }
     /*下一页*/
     private void buttonNextPage_Click(object sender,EventArgs e)
     {
         currentPage++;
         pageButtonStatus();
         currentPageDataBind();
     }
     #endregion 二.真分页 1.适用于SQL Server 2000/2005

    select top 页大小 * from table1 where id not in ( select top 页大小*(页数-1) id from table1 order by id ) order by id

    2.适用于SQL Server 2005
    select top 页大小 * 
    from 
    (
        select ROW_NUMBER() over (order by id) as RowNumber,* from table1
    ) a
    where RowNumber > 页大小*(页数-1) 

    3.适用于SQLite

    通用公试:sql = "select * from FlyCrocodile where "+条件+order by "+排序+" limit "+要显示多少条记录+" offset "+跳过多少条记录; 

    或者sql="select * from FlyCrocodile  where "+条件+order by "+排序+" limit 路过多少条记录,要显示多少条记录;

    如:select * from flycrocodile limit 15 offset 20 或者 select * from FlyCrocodile limit 20,15  

    意思是说:从flycrocodile表跳过20条记录选出15条记录 

    
    
  • 相关阅读:
    vue 表格组件分享
    原创-整理了下常用的js数组 、对象、数字、字符串的操作方法
    h5 plus/h5+规范使用,模块索引,教你如何去看h5+的手册
    vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
    vuecli3 引入script 针对没有cmd amd require等方式的js
    vue新手入门指导,一篇让你学会vue技术栈,本人初学时候的文档
    node搭建本地服务器
    利用nodeJs anywhere搭建本地服务器环境
    vue封装组件的正确方式-封装类似elementui的组件
    微信小程序自定义模态框(字体图标)
  • 原文地址:https://www.cnblogs.com/sydeveloper/p/2379332.html
Copyright © 2011-2022 走看看