对数据进行分页显示到table中的实现方法_java

我最先用jframe编程的时候写的比较简单,只是先查询到所有记录,再根据当前页码筛选出当前页的记录,返回的小集合可以直接显示到table上。

import java.util.ArrayList;
import java.util.List;
import com.yu.entity.User;
public class PageController {
private List<User> bigList=new ArrayList<User>(); //大集合,从外界获取
private List<User> smallList=new ArrayList<User>(); //小集合,返回给调用它的类
private static int curentPageIndex=1; //当前页码
private int countPerpage=10; //每页显示条数
private int pageCount; //总页数
private int recordCount; //总记录条数
//初始化块,调用类的时候首先自动加载
{
//调用查询数据库的方法,返回一个List
this.bigList = new Utils().query();
//计算总页数
if (bigList.size()%countPerpage==0) {
this.pageCount=bigList.size()/countPerpage;
} else {
this.pageCount=(bigList.size()/countPerpage)+1;
}
}
public PageController() {
}
//传入指定页码的构造函数,参看第几页。
public PageController(int curentPageIndex){
this.curentPageIndex=curentPageIndex;
}
//确切的获取当前页的记录,返回一个list列表
public List<User> setCurentPageIndex() {
return select();
}
//下一页
public List<User> nextPage() {
if (curentPageIndex < pageCount ) {
curentPageIndex++;
System.out.println("当前页:"+curentPageIndex);
}
return select();
}
//上一页
public List<User> previousPage() {
if (curentPageIndex > 1) {
curentPageIndex--;
System.out.println("当前页:"+curentPageIndex);
}
return select();
}
//此方法供以上方法调用,根据当前页,筛选记录
public List<User> select(){
recordCount=bigList.size();
for(int i=(curentPageIndex-1)*countPerpage; i<curentPageIndex*countPerpage&&i<recordCount; i++){
smallList.add(bigList.get(i));
}
return smallList;
}
} 

下面是写在jframe中的内容,调用分页方法。

//查询上一页
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
List<User> newlist = new PageController().previousPage();
viewAll(newlist);
}
//返回第一页的记录
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
List<User> newlist = new PageController(1).setCurentPageIndex();
viewAll(newlist);
}
//查询下一页
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {
List<User> newlist = new PageController().nextPage();
viewAll(newlist);
}
//显示List中的用户
public void viewAll(List<User> list) {
Object[][] objects = new Object[(list.size())][];
for (int i = 0; i < objects.length; i++) {
objects[i] = new Object[3];
objects[i][0] = i + 1;
objects[i][1] = list.get(i).getUserid();
objects[i][2] = list.get(i).getTruename();
}
jTable1.setModel(new javax.swing.table.DefaultTableModel(objects,
new String[] { "行号", "工号", "姓名" }));
} 

以上所述是小编给大家介绍的对数据进行分页显示到table中的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java实现查询数据分页、java中分页查询的实现、java实现分页、java实现分页功能、java实现分页查询,以便于您获取更多的相关知识。

时间: 2024-12-05 12:19:14

对数据进行分页显示到table中的实现方法_java的相关文章

复杂检索数据并分页显示的处理方法

系统标题:复杂检索数据并分页显示的处理方法 系统功能:利用临时表检索数据库数据,然后分页显示的方法: 处理方法:采用临时表存放数据中间结果,根据中间结果显示数据           数据的显示采用隔行的方式处理 处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的           开销将很大,利用临时表把数据先保存,然后处理.这样对数据库的查询只要开销一次. 使用方法:只要把连接数据库的用户信息和数据表改变即可使用         <?   //连接数据库   

PHP复杂检索数据并分页显示的处理方法

  系统标题:复杂检索数据并分页显示的处理方法 系统功能:利用临时表检索数据库数据,然后分页显示的方法: 处理方法:采用临时表存放数据中间结果,根据中间结果显示数据 数据的显示采用隔行的方式处理 处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的 开销将很大,利用临时表把数据先保存,然后处理.这样对数据库的查询只要开销一次. 使用方法:只要把连接数据库的用户信息和数据表改变即可使用 <? //连接数据库 $dbh = mysql_connect('localhos

复杂检索数据并分页显示的处理方法_php基础

系统标题:复杂检索数据并分页显示的处理方法 系统功能:利用临时表检索数据库数据,然后分页显示的方法: 处理方法:采用临时表存放数据中间结果,根据中间结果显示数据           数据的显示采用隔行的方式处理 处理优点:对于复杂的查询,特别是涉及到多表的数据查询,如果直接使用查询条件,系统的           开销将很大,利用临时表把数据先保存,然后处理.这样对数据库的查询只要开销一次. 使用方法:只要把连接数据库的用户信息和数据表改变即可使用 <?   //连接数据库   $dbh =  

extjs怎样将从oracle数据库获取到的数据进行分页显示?

问题描述 extjs怎样将从oracle数据库获取到的数据进行分页显示? extjs怎样将从oracle数据库获取到的数据进行分页显示? 解决方案 前台传回是第几页数据,后台查询结果返回OK 解决方案二: rownum between 1 and n 解决方案三: 是用jsp之类的东西读oracle数据库,然后生成extjs需要的json格式的数据返回给extjs加载,extjs无法直接加载oracle数据 http://blog.csdn.net/yizhiduxiu11/article/de

jquery插件-jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~

问题描述 jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~ 感觉它是一个非常不错的数据分页显示框架,希望能够学会,可是在网上没有查到类似的资料,大家有用过的吗? 解决方案 http://www.jquery-bootgrid.com/Examples 解决方案二: 这个我看过了,但是代码不全,有部分不知道怎么写

Android数据持久化之读写SD卡中内容的方法详解

本文实例讲述了Android数据持久化之读写SD卡中内容的方法.分享给大家供大家参考,具体如下: 前面文章里讲的那三个方法:openFileOutput .openFileInput 虽然都能通过流对象OutputStream和InputStream可以处理任意文件中的数据,但与 SharedPreferences 一样,只能在手机内存的指定目录下建立文件,因此,在实际的开发使用中有很大的局限性,那么在这一节中,我们来看一个比较高级的方法来实现数据的持久化--读写SD卡上的内容. --读取ass

在JSP页面中实现检索数据的分页显示

js|分页|数据|显示|页面     在页面中,当检索的数据很多时,通常需要分页显示数据,并要实现翻页. 下面将通过一些例程来说明实现JSP页面翻页技术的实现. 首先,在JSP中,通过JAVA servlet 来检索数据,而用JSP来调用结果来显示. 因而,此技术可分为两个部分(依赖关系): 1. 在服务器端的servlet 中的实现 要点: &将查询条件保存到session中,取session中的查询条件 &设置Statement对象的MaxRows(确定一页显示多少行数据) &

求解决方案:在数据库数据量很大时(如几百上千万条record),如何查找数据,以及分页显示在页面中。

问题描述 如题,这应该是比较常遇到的情况,希望大家讨论下有哪些解决方案,有简单的代码就最好了. 解决方案 解决方案二:只能数据库分页...解决方案三:请问数据库分页是什么意思?和web里的分页应该不同吧?解决方案四:使用hibernate分页.解决方案五:就是在数据库里就把满足条件的记录的某些行查询出来,不同的数据库sql写法是不一样的,oracle用rownum来分页,sqlserve用top.现在的一些orm如hibernate就可以帮你搞定这些,具体的实现细节不用你去做解决方案六:John

分页显示从数据库中读出的记录

分页|数据|数据库|显示 在用JDBC访问某个数据库,并读出一个ResultSet数据记录集时,如果记录数太大,则会占用客户端(运行java程序的机器)的大量内存(如果客户端是某个大企业的营业部门的代理点分机,则有可能java程序会占用完全部内存,然后报错),并且会造成客户端负载过重,运行速度极度缓慢(在sybase数据库中,我曾做过一个测试.选择某个大数据记录,SQL语句运行完需要4分钟,而在java客户端完全显示出来,则需要将近10分钟). 解决方案: 给用户提供一个可选择分页显示的选项,如