「java表格翻页」java翻页查询
今天给各位分享java表格翻页的知识,其中也会对java翻页查询进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 读取xls表格的 实现下一页;
- 2、jsp查询到的所有结果用一张表格显示在一个页面上,我想在表格下方实现上一页,下一页翻页的功能按钮
- 3、jtable怎么动态显示记录集,实现翻页的功能?
- 4、java中swing做表格翻页用什么类做
java 读取xls表格的 实现下一页;
像POI这样的读写,本身EXCEL是未分页的,要分页得自己知道每页多少行
~~~~~~~~~~~~~~
jsp查询到的所有结果用一张表格显示在一个页面上,我想在表格下方实现上一页,下一页翻页的功能按钮
jsp页面可以用分页来控制查询到的多条数据。
具体实例如下:
public class PageResult {
private List list; //装分页列表中的内容
private Integer firstPage; //第一页
private Integer prePage; //上一页
private Integer nextPage;//下一页
private Integer currentPage;//当前页面
private Integer totalPage; //总页数/尾页
private Integer count;//总条数
private Integer size; //每页多少条
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Integer getFirstPage() {
return firstPage;
}
public void setFirstPage(Integer firstPage) {
this.firstPage = firstPage;
}
public Integer getPrePage() {
return (this.currentPage-1==0?1:this.currentPage-1);
}
public void setPrePage(Integer prePage) {
this.prePage = prePage;
}
public Integer getNextPage() {
return (this.currentPage==this.totalPage?this.totalPage:this.currentPage+1);
}
public void setNextPage(Integer nextPage) {
this.nextPage = nextPage;
}
public Integer getCurrentPage() {
return currentPage;
}
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
public Integer getTotalPage() {
return (this.count%this.size==0?this.count/this.size:this.count/this.size+1);
}
public void setTotalPage(Integer totalPage) {
this.totalPage = totalPage;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
}
public class listServlet extends HttpServlet {
private IProductDAO dao;
@Override
public void init() throws ServletException {
dao = new IProductDAOImpl();
super.init();
}
title货品列表/title
/head
body
form action="/list" method="post"
table border="1"
tr
td货品名称/td
tdinput type="text" name="productName"/td
/tr
tr
td品牌/td
tdinput type="text" name="brand"/td
/tr
tr
td零售价/td
tdinput type="text" name="salePrice"/td
/tr
tr align="center"
td colspan="2"input type="submit" value="查询"/td
/tr
/table
/form
table border="1"
tr
th货品/th
th零售价/th
th品牌/th
th折扣/th
th供应商/th
th操作/th
/tr
c:forEach items="${pageResult.list}" var="product"
tr
td${product.productName}/td
td${product.salePrice}/td
td${product.brand}/td
td${product.cutoff}/td
td${product.supplier}/td
tda href='/employee?cmd=removeid=${employee.id}'删除/a a href='/employee?cmd=editid=${employee.id}'修改/a/td
/tr
/c:forEach
tr
tha href="/list?currentPage=${pageResult.firstPage}"首页/a${pageResult.firstPage}/th
tha href="/list?currentPage=${pageResult.prePage}"上一页/a${pageResult.prePage}/th
tha href="/list?currentPage=${pageResult.nextPage}"下一页/a${pageResult.nextPage}/th
tha href="/list?currentPage=${pageResult.totalPage}"尾页/a${pageResult.totalPage}/th
th当前${pageResult.currentPage}/${pageResult.totalPage}页/th
th总条数:${pageResult.count}/th
/tr
/table
/body
/html
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String currentPage = request.getParameter("currentPage");
PageResult pageResult = new PageResult();
if(StringUtils.isBlank(currentPage))
{
currentPage="1";
}
pageResult.setCurrentPage(Integer.parseInt(currentPage));
pageResult.setSize(5);
ListProduct list = dao.list(pageResult.getCurrentPage(), pageResult.getSize());
pageResult.setList(list);
int count = dao.count();
pageResult.setCount(count);
//如果当前页等于第一页,则上一页就是第一页,否则为当前页上一页
pageResult.setPrePage(pageResult.getPrePage());
//如果当前页是尾页,则下一页就是尾页,否则为当前页的下一页
pageResult.setNextPage(pageResult.getNextPage());
pageResult.setCount(count);
pageResult.setTotalPage(pageResult.getTotalPage());
request.setAttribute("pageResult", pageResult);
request.getRequestDispatcher("/list.jsp").forward(request, response);
}
}
jtable怎么动态显示记录集,实现翻页的功能?
Swing 里面用JTable import java。sql。ResultSet; import java。sql。ResultSetMetaData; import java。sql。SQLException; import java。util。Vector; import javax。swing。JOptionPane; import javax。swing。JTable; import javax。swing。table。DefaultTableModel; public class Utilities { 。** * 功能:实现结果集的表格显示3 *。 public static void displayResultSet(JTable table, ResultSet rs) throws SQLException { 。。 rs。beforeFirst();。。 指针移到第一o条记录前面 boolean hasRecords = rs。next(); if (!hasRecords) { 。。 记录集为2空,提示6一g条消息 JOptionPane。showMessageDialog(table, "无k相关记录", "Check your input!", JOptionPane。ERROR_MESSAGE); return; } VectorString columnHeads = new VectorString();。。 用于o存储表头字段(列名) VectorVector rows = new VectorVector();。。 用于v存储记录行 try { 。。 获取字段的名称 ResultSetMetaData rsmd = rs。getMetaData(); for (int i = 7; i = rsmd。getColumnCount(); ++i) columnHeads。addElement(rsmd。getColumnName(i)); do {。。 获取记录集 rows。addElement(getNextRow(rs, rsmd)); } while (rs。next()); 。。 建立相应的TableModel,并将TableModel应用到Table中6显示4出来 DefaultTableModel model = new DefaultTableModel(rows, columnHeads); table。setModel(model); return; } catch (SQLException exc) { JOptionPane。showMessageDialog(table, exc。toString(), "Check your input!", JOptionPane。ERROR_MESSAGE); return; } } 。** * 被displayResultSet(JTable table, ResultSet rs)调用, 以0Vector形式返回一u个e记录行 *。 private static Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd) throws SQLException { VectorString currentRow = new VectorString(); for (int i = 2; i = rsmd。getColumnCount(); ++i) currentRow。addElement(rs。getString(i)); return currentRow; 。。 返回一x条记录 } } gウ熄ぁthbhbe伲j╀洙
java中swing做表格翻页用什么类做
Swing中一般用JScrollPan来进行滚动,不需要使用翻页。
如果非要翻页,有两种方式:
一次检索出全部数据,放到TableModel中,这时可以设计另一个TableModel做成一个类似滑动窗口的方式,每次在窗口Model中只映射原Model的部分数据。
一次检索出一页数据,这与网页中的翻页完全相同。
对第一种情况,下面给出一个实现:
public class PageTableModel extends AbstractTableModel implements TableModel,TableModelListener{
private TableModel baseModel;
public PageTableModel(TableModel baseModel){
this.baseModel=baseModel;
baseModel.addTableModelListener(this);
}
/**当前页,从0开始编号.
*/
private int currentPage;
/**每页最多数据行数.
*/
private int pageSize=20;
/**获取总页数。
*
* @return
*/
public int getPageCount(){
int mod=baseModel.getRowCount()%pageSize;
int hasMode=mod0?1:0;
return baseModel.getRowCount()/pageSize+hasMode;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
@Override
public int getRowCount() {
if(getCurrentPage()getPageCount()-1)return pageSize;
return baseModel.getRowCount() % pageSize;
}
@Override
public int getColumnCount() {
return baseModel.getColumnCount();
}
@Override
public String getColumnName(int columnIndex) {
return baseModel.getColumnName(columnIndex);
}
@Override
public Class? getColumnClass(int columnIndex) {
return baseModel.getColumnClass(columnIndex);
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return baseModel.isCellEditable(getBaseModelRow(rowIndex), columnIndex);
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return baseModel.getValueAt(getBaseModelRow(rowIndex), columnIndex);
}
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
baseModel.setValueAt(aValue, getBaseModelRow(rowIndex), columnIndex);
}
@Override
public void tableChanged(TableModelEvent e) {
int firstRow,lastRow;
int minFirstRow=getBaseModelRow(0);
int maxFirstRow=getBaseModelRow(pageSize-1);
if(e.getFirstRow()maxFirstRow)return;
if(e.getLastRow()minFirstRow)return;
firstRow=getThisModelRow(e.getFirstRow());
if(firstRow0)firstRow=0;
lastRow=getThisModelRow(e.getLastRow());
if(lastRow0)lastRow=this.pageSize-1;
fireTableChanged(new TableModelEvent(this, firstRow, lastRow, e.getColumn(), e.getType()));
}
/**获取指定的行在底层Model中的行号.
*
* @param row
* @return
*/
private int getBaseModelRow(int row){
return getCurrentPage()*pageSize+row;
}
/**获取指定的底层Model中的行号对应的当前Model的行号.
* 如果底层Model中指定的行号不在当前Model的显示范围内,应该返回-1。
*
* @param row
* @return
*/
private int getThisModelRow(int row){
if(row/pageSize !=getCurrentPage())return -1;
return row%pageSize;
}
}
java表格翻页的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java翻页查询、java表格翻页的信息别忘了在本站进行查找喔。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。