-
2022-04-15 12:08:41
前言
这篇博客是用来记录自己所理解的分页功能,后续还会有补充,如果对内容有任何疑问,欢迎一起交流学习。
一、什么是分页
分页就是让页面可以显示指定条数的数据。通过分页功能,可以更容易的管理数据,查看数据。
通过上述描述,就可以想到,大体的分页方式就是,通过各种查询,各种处理,然后将该指定条数的数据发送到前台进行显示。
二、分页的实现
1. 分页方式
-
逻辑分页
先把所有数据都查出来,然后通过Java程序处理将指定条数据发送到前端进行显示。SQL语句简单,但不适合数据量大的分页。 -
物理分页
利用SQL语句查询到指定条数据,发送到前端进行显示。当数据量较大时使用物理分页效率更高,但SQL语句较为复杂。
2. 页面跳转的几种方式
- 显示每一页的下标,通过点击下标,跳转到对应的页面。
- 通过点击 首页、上一页、下一页、尾页,进行跳转
- 通过搜索页号进行跳转
- 通过select下拉列表的选择进行跳转
3. 分页的实现——分页工具类
分页工具类里定义了一些用于分页的属性和方法。主要是通过分页工具类来实现分页功能的。
3.1 分页工具类——PageUtil.java
package com.dao; public class PageUtil { // 每页显示的条数 private int pageSize; // 总共的条数 private int recordCount; // 当前页面 private int currentPage; //总页数 public int pageCount; //上一页的最后一条记录 private int start; //当前页的最后一条记录 private int end; // 获取上一页的最后一条记录 public int getStart() { start=(currentPage - 1) * pageSize; return start; } //为mysql写的 select * from table limit start,end; //limit是限制查询从start+1开始,最多查询end条数据 public int getEnd() { end=pageSize; return end; } // 构造方法 public PageUtil(int pageSize, int recordCount, int currentPage) { this.pageSize = pageSize; this.recordCount = recordCount; setCurrentPage(currentPage); } // 构造方法 public PageUtil(int pageSize, int recordCount) { this(pageSize, recordCount, 1); } public PageUtil() { super(); // TODO Auto-generated constructor stub } // 总页数 public int getPageCount() { // 总条数/每页显示的条数=总页数 int size = recordCount / pageSize; // 最后一页的条数 int mod = recordCount % pageSize; // 看需不需要多余的页,也就是最后一页 if (mod != 0) size++; this.pageCount=recordCount == 0 ? 1 : size; return this.pageCount; } // 上一页的最后一条记录数。包含,起始索引为0 public int getFromIndex() { // System.out.println("from index:"+(currentPage-1) * pageSize); return (currentPage - 1) * pageSize; } // 本页的最后一条记录数。不包含 public int getToIndex() { // System.out.println("to index:"+Math.min(recordCount, currentPage * // pageSize)); return Math.min(recordCount, currentPage * pageSize); } // 得到当前页 public int getCurrentPage() { return currentPage; } // 设置当前页 public void setCurrentPage(int currentPage) { int validPage = currentPage <= 0 ? 1 : currentPage; validPage = validPage > getPageCount() ? getPageCount() : validPage; this.currentPage = validPage; } // 得到每页显示的条数 public int getPageSize() { return pageSize; } // 设置每页显示的条数 public void setPageSize(int pageSize) { this.pageSize = pageSize; } // 得到总共的条数 public int getRecordCount() { return recordCount; } // 设置总共的条数 public void setRecordCount(int recordCount) { this.recordCount = recordCount; } }
3.2 相关参数
- 记录总数:recordCount = 通过后台查询数据库获取「一条数据就是一条记录」
- 页面总数:pageCount = recordCount % pageSize == 0 ? (recordCount / pageSize):(recordCount / pageSize + 1)
如果recordCount % pageSize != 0,说明最后一页还多余出几条数据,所以就需要新增一页来存放 - 页面大小:pageSize = 自己设定一页到底要显示多少条数据
- 当前页号:currentPage = 默认值是1,是前台需要向后台传递的参数之一
- 前一页:currentPage - 1
- 后一页:currentPage + 1
- 上一页的最后一条记录数:start = pageSize * (currentPage - 1)
- 当前页的最后一条记录数:end = min(pageCount, pageSize* currentPage)
如果该页不是最后一页,当前页最后一条记录数一定是 currentPage * pageSize
如果该页是最后一页,当前页最后一条记录数最大就是 currentPage * pageSize;如果不是满页,则该页的最后一条记录数就是总记录数
所以要取最小值
最重要的三个参数:记录总数、页面大小、当前页号
通过记录总数就可以知道一共有多少条数据
通过页面大小就可以知道一共有多少个页面
通过当前页号+页面大小,就可以知道当前页有哪些内容,前一页有哪些内容,后一页有哪些内容三、JavaWeb项目分页实现
案例:对查询到的部门信息进行分页,每页显示3条数据。前台页面
DepartmentPage.jsp
,后台页面SearchDepartmentPageServlet
。1. 逻辑分页
DepartmentPage.jsp
作用:
①用于显示分页后的部门信息
②向后台传递「要查询什么信息——部门信息」和「当前页面的页号」SearchDepartmentPageServlet
作用:
①查询所有部门的信息,将指定区间的部门信息传递给前台。(连接数据库后查询到所有的部门信息,然后通过Java代码将指定区间的数据发送到前台显示)
DepartmentPage.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set value="${pageContext.request.contextPath}" var="path"></c:set> <html> <head> <title>Title</title> <%--引入jQuery库--%> <script src="${path}/js/jquery.js"></script> <%--定义js脚本,向后台传递当前页号和部门名称--%> <script> function formSubmit(currentPage) { $('input[name="currentPage"]').val(currentPage); $('form:first').submit(); } </script> </head> <body> <%--通过查询来显示指定数据--%> <form action="${path}/SearchDepartmentPageServelt"> <label>部门名称</label> <%--查询条件--%> <input type="text" name="departmentName" value="${param.departmentName}"> <%--当前页数--%> <input type="hidden" name="currentPage" value="1"> <input type="submit" value="查找"> </form> <%--要显示的部门信息--%> <table> <tr> <th>部门编号</th> <th>部门名称</th> <th>部门地址</th> </tr> <%--这里根据后台的查询数据循环生成表格里的数据--%> <c:forEach items="${departments}" var="department"> <tr> <th>${department.departmentId}</th> <th>${department.departmentName}</th> <th>${department.locationName}</th> </tr> </c:forEach> </table> <%--数据显示--%> <div> <label>共${pageUtil.recordCount}条数据,每页显示${pageUtil.pageSize}条数据,共${pageUtil.pageCount}页,当前是第${pageUtil.currentPage}页</label> </div> <%--用来进行页面跳转--%> <%--第一次查询后就已经获取到pageUtil对象,然后就可以使用pageUtil对象里的属性了--%> <div> <a href="#" onclick="formSubmit(1)" id="first">首页</a> <a href="#" onclick="formSubmit(${pageUtil.currentPage - 1})" id="prev">上一页</a> <a href="#" onclick="formSubmit(${pageUtil.currentPage + 1})" id="next">下一页</a> <a href="#" onclick="formSubmit(${pageUtil.pageCount})" id="last">尾页</a> <label>跳转到</label> <%--输入框填写页数--%> <input type="text" id="pageNum"> <%--根据输入框中的页数,进行跳转--%> <input type="button" value="Go" onclick="formSubmit($('#pageNum').val())"> </div> </body> </html>
SearchDepartmentPageServlet
package com.servlets; import com.dao.PageUtil; import com.service.DepartmentService; import com.vo.Department; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.util.ArrayList; import java.util.List; @WebServlet(name = "SearchDepartmentPageServlet", value = "/SearchDepartmentPageServlet") public class SearchDepartmentPageServlet extends HttpServlet { private DepartmentService departmentService = new DepartmentService(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 从jsp页面接收到的参数 String departmentName = request.getParameter("departmentName"); int currentPage = Integer.parseInt(request.getParameter("currentPage")); // 查询到所有的部门信息 List<Department> departmentList = departmentService.selectByDepartmentName(departmentName); // 创建页面划分对象 PageUtil pageUtil = new PageUtil(3, departmentList.size(), currentPage); // 创建一个部门集合,用来存放要显示的部门信息。(之前是将获取到的集合对象直接转发,现在要从对象中获取指定条数的对象) List<Department> departments = new ArrayList<>(); for (int i = pageUtil.getFromIndex(); i < pageUtil.getToIndex(); i++) { departments.add(departmentList.get(i)); } // 将部门和页面工具对象请求转发到指定的页面 request.setAttribute("departments", departments); request.setAttribute("pageUtil", pageUtil); request.getRequestDispatcher("DepartmentPage.jsp").forward(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
DepartmentDao.java
// 通过名字查询部门 public List<Department> selectByDepartmentName(String departmentName){ String sql = "SELECT * FROM departments WHERE DEPARTMENT_NAME LIKE ?"; Object[] objects = {"%"+departmentName+"%"}; RowMapper<Department> rm = (rs)->{ Department department = new Department(); try { department.setDepartmentId(rs.getInt("DEPARTMENT_ID")); department.setDepartmentName(rs.getString("DEPARTMENT_NAME")); department.setLocationName(rs.getString("LOCATION_NAME")); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return department; }; return Dbutil.executeQuery(sql, objects, rm); }
DepartmentService.java
private DepartmentDao departmentDao = new DepartmentDao(); // 通过名字查询部门 public List<Department> selectByDepartmentName(String departmentName){ return departmentDao.selectByDepartmentName(departmentName); }
2. 物理分页
DepartmentPage.jsp
作用:
①用于显示分页后的部门信息
②向后台传递「要查询什么信息——部门信息」和「当前页面的页号」- dao层的作用:
①通过SQL语句查询要显示在页面的部门信息
②也需要通过SQL语句查询部门信息的总记录数 SearchDepartmentPageServlet
作用:
①负责将要显示的部门信息发送给前台
②当然也需要将总记录数发送给前台,用于分页计算和前台显示
DepartmentPage.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set value="${pageContext.request.contextPath}" var="path"></c:set> <html> <head> <title>Title</title> <%--引入jQuery库--%> <script src="${path}/js/jquery.js"></script> <%--定义js脚本,向后台传递当前页号和部门名称--%> <script> function formSubmit(currentPage) { $('input[name="currentPage"]').val(currentPage); $('form:first').submit(); } </script> </head> <body> <%--通过查询来显示指定数据--%> <form action="${path}/SearchDepartmentPageServelt2"> <label>部门名称</label> <%--查询条件--%> <input type="text" name="departmentName" value="${param.departmentName}"> <%--当前页数--%> <input type="hidden" name="currentPage" value="1"> <input type="submit" value="查找"> </form> <%--要显示的部门信息--%> <table> <tr> <th>部门编号</th> <th>部门名称</th> <th>部门地址</th> </tr> <%--这里根据后台的查询数据循环生成表格里的数据--%> <c:forEach items="${departments}" var="department"> <tr> <th>${department.departmentId}</th> <th>${department.departmentName}</th> <th>${department.locationName}</th> </tr> </c:forEach> </table> <%--数据显示--%> <div> <label>共${pageUtil.recordCount}条数据,每页显示${pageUtil.pageSize}条数据,共${pageUtil.pageCount}页,当前是第${pageUtil.currentPage}页</label> </div> <%--用来进行页面跳转--%> <%--第一次查询后就已经获取到pageUtil对象,然后就可以使用pageUtil对象里的属性了--%> <div> <a href="#" onclick="formSubmit(1)" id="first">首页</a> <a href="#" onclick="formSubmit(${pageUtil.currentPage - 1})" id="prev">上一页</a> <a href="#" onclick="formSubmit(${pageUtil.currentPage + 1})" id="next">下一页</a> <a href="#" onclick="formSubmit(${pageUtil.pageCount})" id="last">尾页</a> <label>跳转到</label> <%--输入框填写页数--%> <input type="text" id="pageNum"> <%--根据输入框中的页数,进行跳转--%> <input type="button" value="Go" onclick="formSubmit($('#pageNum').val())"> </div> </body> </html>
SearchDepartmentPageServlet2.java
package com.servlets; import com.dao.PageUtil; import com.service.DepartmentService; import com.vo.Department; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.util.List; @WebServlet(name = "SearchDepartmentPageServelt2", value = "/SearchDepartmentPageServelt2") public class SearchDepartmentPageServelt2 extends HttpServlet { private DepartmentService departmentService = new DepartmentService(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String departmentName = request.getParameter("departmentName"); int currentPage = Integer.parseInt(request.getParameter("currentPage")); PageUtil pageUtil = new PageUtil(3, departmentService.selectByDepartmentName(departmentName).size(), currentPage); List<Department> departments = departmentService.selectLimitDepartment(departmentName, pageUtil.getStart(), pageUtil.getEnd()); request.setAttribute("pageUtil", pageUtil); request.setAttribute("departments", departments); request.getRequestDispatcher("DepartmentPage.jsp").forward(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
DepartmentDao.java
// 通过名字查询部门 public List<Department> selectByDepartmentName(String departmentName){ String sql = "SELECT * FROM departments WHERE DEPARTMENT_NAME LIKE ?"; Object[] objects = {"%"+departmentName+"%"}; RowMapper<Department> rm = (rs)->{ Department department = new Department(); try { department.setDepartmentId(rs.getInt("DEPARTMENT_ID")); department.setDepartmentName(rs.getString("DEPARTMENT_NAME")); department.setLocationName(rs.getString("LOCATION_NAME")); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return department; }; return Dbutil.executeQuery(sql, objects, rm); } // *****************这个是重点***************** // 通过名字查询部门 public List<Department> selectLimitDepartment(String departmentName, int start, int end){ String sql = "SELECT * FROM departments WHERE DEPARTMENT_NAME LIKE ? limit ?, ?"; Object[] objects = {"%"+departmentName+"%", start, end}; RowMapper<Department> rm = (rs)->{ Department department = new Department(); try { department.setDepartmentId(rs.getInt("DEPARTMENT_ID")); department.setDepartmentName(rs.getString("DEPARTMENT_NAME")); department.setLocationName(rs.getString("LOCATION_NAME")); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return department; }; return Dbutil.executeQuery(sql, objects, rm); }
DepartmentService.java
private DepartmentDao departmentDao = new DepartmentDao(); // 通过名字查询部门 public List<Department> selectByDepartmentName(String departmentName){ return departmentDao.selectByDepartmentName(departmentName); } // 通过名字查询部门 public List<Department> selectLimitDepartment(String departmentName, int start, int end){ return departmentDao.selectLimitDepartment(departmentName, start, end); }
四、使用MyBatis框架实现分页
这里没有使用前端页面来展示分页后的内容,而是通过在控制台打印查询到的分页信息来显示分页内容。下面用两个案例来介绍分页功能。
1. 分页显示班级信息
这里使用的是物理分页,需要做三件事来实现分页:
①从数据库中查出要显示数据的总记录数
②从数据库中查出要显示的数据集合
③分页工具类对象指定页面大小、获取①中的页面总数、指定当前是第几页即可1.1 ClazzMapper.java
// 查询到记录总数,就是一共有多少条班级信息 int selectCount(); // 根据分页工具类进行分页,获取到分页后要显示的班级信息 List<Clazz> selectPage(@Param("page") PageUtil pageUtil);
1.2 ClazzMapper.xml
<!--查询数据库一共有多少条记录--> <select id="selectCount" resultType="int"> select count(*) from clazz </select> <!--物理分页--> <select id="selectPage" resultType="com.bean.Clazz"> select <include refid="base_info"></include> from clazz limit #{page.start}, #{page.end} </select>
1.3 TestClazz.java
@Test public void testSelectPage() { // 这里输出分页信息 int count = this.clazzService.selectCount(); PageUtil pageUtil = new PageUtil(3, count, 3); System.out.println("共"+pageUtil.pageCount+"页"); System.out.println("当前是第"+pageUtil.getCurrentPage()+"页"); System.out.println("共有"+pageUtil.getRecordCount()+"条数据"); // 这里输出分页后的班级信息 List<Clazz> clazzes = this.clazzService.selectPage(pageUtil); for (int i=0; i<clazzes.size(); i++) { Clazz clazz = clazzes.get(i); System.out.println(clazz.getId() + "\t" + clazz.getClassname()); } }
2. 根据条件查询学生信息进行分页
这里也是用的是物理分页,需要做三件事来实现分页:
①查询满足条件的记录总数
②查询满足条件的要显示的数据集合
③分页工具类对象中指定页面大小、记录总数、当前页数2.1 StudentMapper.java
// 根据条件查询学生的数量(不需要使用爱好做条件),查询总记录数 int selectCount(Student student); // 根据条件查询学生的信息,实现分页 List<Student> selectPage(@Param("student") Student student, @Param("page") PageUtil page);
2.2 StudentMapper.xml
<!--根据条件查询出记录总数--> <select id="selectCount" resultType="int"> select count(*) from student <where> <if test="name != null"> name like "%"#{name}"%" </if> <if test="sex != null"> and sex = #{sex} </if> <if test="birthday != null"> and birthday = #{birthday} </if> <if test="age != null and age > 0"> and age = #{age} </if> <if test="classid != null and classid > 0"> and classid = #{classid} </if> </where> </select> <!--根据条件查询出要显示的数据集合--> <select id="selectPage" resultMap="baseMap"> select <include refid="Base_Column_List"></include> from student <where> <if test="student.name != null"> name like "%"#{student.name}"%" </if> <if test="student.sex != null"> and sex = #{student.sex} </if> <if test="student.birthday != null"> and birthday = #{student.birthday} </if> <if test="student.age != null and student.age > 0"> and age = #{student.age} </if> <if test="student.classid != null and student.classid > 0"> and classid = #{student.classid} </if> </where> limit #{page.start}, #{page.end} </select>
TestStudentMapper.java
public void testSelectPage() { // 自定义查询条件 Student student = new Student(); student.setName("a"); student.setSex("man"); // 输出分页信息 int count = this.studentService.selectCount(student); PageUtil pageUtil = new PageUtil(3, count, 2); System.out.println("共"+pageUtil.pageCount+"页"); System.out.println("当前是第"+pageUtil.getCurrentPage()+"页"); System.out.println("共有"+pageUtil.getRecordCount()+"条数据"); // 输出要显示的数据集合 List<Student> students = this.studentService.selectPage(student, pageUtil); for (int i=0; i < students.size(); i++) { System.out.println(students.get(i).getName() + "\t" + students.get(i).getSex()); } }
五、使用MyBatis框架的分页插件实现分页
自问自答
- 为什么点击页号后可以跳转到不同的页面?
其实没有跳转到不同的页面,而是一直都在同一个页面,只是显示的内容不同。根据页号查询到的信息不同,所以在页面上显示的内容也不同。 - 物理分页和逻辑分页的联系与区别?
联系:都是根据页号将指定区间的数据发送到前台显示
区别:物理分页是在dao层SQL语句中查询到指定区间的数据,并将指定区间的数据发送给前端;逻辑分页在dao层SQL语句中查询到的是所有的信息,然后还需要通过Java代码获取到指定区间的数据发送给前端。
总结
以上就是对分页功能的记录。需要分清「逻辑分页」和「物理分页」联系和区别。逻辑分页SQL语句可能相对简单一点,但不适用于数据量极大的情况。数据量较大的时候,需要使用物理分页。重点理解分页工具类,然后结合我提供的思路和核心代码,基本上就可以实现分页功能了。
更多相关内容 -
-
Java简单高效实现分页功能
2020-09-07 18:11:09主要介绍了Java简单高效实现分页功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
php实现分页功能的详细实例方法
2021-01-20 08:11:20分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果。 首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为jereh... -
layui实现数据分页功能
2020-12-30 00:21:14本文实例为大家分享了layui实现数据分页功能,供大家参考,具体内容如下 官网layui table演示页面 示例截图: 页面引入layui.css、 layui.js <div id=laypage></div> 前台js var limitcount = 10; var ... -
bootstrap-table后端分页功能完整实例
2020-11-20 11:48:56本文实例讲述了bootstrap-table后端分页功能。分享给大家供大家参考,具体如下: 使用bootstrap-table实现后台分页 插件资源点击此处本站下载。 引用以下css <link rel="stylesheet" href="../plugins/... -
Python的Flask框架中实现分页功能的教程
2021-01-21 17:30:13Blog Posts的提交 让我们从简单的开始。首页上必须有一张用户提交新的post的表单。 首先我们定义一个单域表单对象(fileapp/forms.py): class PostForm(Form): post = TextField('post', validators = ... -
Django框架实现的简单分页功能示例
2020-09-19 21:43:06主要介绍了Django框架实现的简单分页功能,在之前一篇留言板之上增加了简单分页功能,涉及Paginator模块的简单使用技巧,需要的朋友可以参考下 -
vue实现的上拉加载更多数据/分页功能示例
2020-10-16 22:33:00主要介绍了vue实现的上拉加载更多数据/分页功能,涉及基于vue的事件响应、数据交互等相关操作技巧,需要的朋友可以参考下 -
Vue+element-ui 实现表格的分页功能示例
2021-01-19 16:47:32本文介绍了Vue+element-ui 实现表格的分页功能示例,分享给大家,具体如下: 实现效果如下图所示: template部分: header-cell-style=rowClass xss=removed empty-text=emptyText> 债券名称 width=228> &... -
Java List分页功能实现代码实例
2020-08-25 04:12:09主要介绍了Java List分页功能实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
PHP简单实现数字分页功能示例
2020-10-21 16:14:56主要介绍了PHP简单实现数字分页功能,结合实例形式分析了php数字分页相关的数学运算与字符串操作相关技巧,需要的朋友可以参考下 -
基于Angularjs实现分页功能
2020-10-22 05:42:32主要介绍了基于Angularjs实现分页功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 -
WPF DataGrid分页功能
2016-03-16 16:50:18WPF的DataGrid分页的功能,找了很久网上的资料,做了许久最后做出了一个公共的用户控件,让大家调用,分享一下。 供参考,希望有问题可以评论一下,告诉我互相学习 -
HTML初学者 前端表格布局,具有分页功能
2021-11-29 18:40:49可改文件类型为 .html直接运行 -
在django中使用自定义标签实现分页功能
2020-09-21 06:47:31主要介绍了在django中使用自定义标签实现分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
javabean servlet jsp实现分页功能代码解析
2020-10-21 12:31:54主要为大家详细解析了javabean servlet jsp实现分页功能代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
MVC HtmlHelper扩展类(PagingHelper)实现分页功能
2020-10-19 21:46:48主要为大家详细介绍了MVC HtmlHelper扩展,实现分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
thinkPHP5框架实现基于ajax的分页功能示例
2020-10-18 10:45:43主要介绍了thinkPHP5框架实现基于ajax的分页功能,结合实例形式分析了thinkPHP5框架上进行ajax分页操作的具体步骤、实现代码与相关操作方法,需要的朋友可以参考下 -
分页功能实现
2015-09-29 13:56:12java实现分页,适用于各个框架功能,用于参考 -
Flutter 分页功能表格控件详细解析
2021-01-03 12:11:11前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析。 PaginatedDataTable PaginatedDataTable是一个带分页功能的DataTable,生成一批数据,项目中此一般通过服务器获取,定义model类: ... -
vue+vuex+json-seiver实现数据展示+分页功能
2020-10-17 04:17:39主要介绍了vue+vuex+json-seiver实现数据展示+分页功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 -
angularjs表格分页功能详解
2020-10-22 22:49:17本文给大家分享的是个人在项目中使用angularjs实现表格分页功能的思路和代码,非常的简单实用,有需要的小伙伴可以参考下。 -
Bootstrap table 服务器端分页功能实现方法示例
2021-01-19 14:45:29本文实例讲述了Bootstrap table 服务器端分页功能实现方法。分享给大家供大家参考,具体如下: bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端bootstrap+... -
Django实现简单分页功能的方法详解
2020-12-23 19:48:07本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下: 使用django的第三方模块django-pure-pagination 安装模块: pip install django-pure-pagination 将’pure_pagination’添加到... -
实现分页功能page.php
2014-08-16 16:52:36实现分页功能,实现首页,下一页,上一页,末页的功能 -
jQuery实现的分页功能示例
2020-12-29 04:33:39本文实例讲述了jQuery实现的分页功能。分享给大家供大家参考,具体如下: 1、分页栏HTML码 2、CSS样式文件 .g-cf:after {clear: both;content: ;display: table;} .g-cf {zoom:1;} /*分页*/ .g-pager{ text... -
纯jQuery实现前端分页功能
2020-12-09 20:51:24由于之前自己做过jquery分页,就是调用jni接口时,只能用前台分页解决显示问题。最近看到有人提这样的问题:一个请求传过来上万个数据怎么办?于是萌生了写这篇博客的想法。 效果展示: 因为核心代码主要在前端... -
DataGridView使用BindingNavigator实现简单分页功能
2020-10-15 23:36:28主要介绍了DataGridView使用BindingNavigator实现简单分页功能,本文主要是通过借用BindingNavigator空壳,文中通过实例代码讲解的非常详细,需要的朋友可以参考下 -
表格分页功能
2017-08-19 17:01:05利用jQuery实现表格的分页