「java表格翻页」java翻页查询

博主:adminadmin 2022-11-28 18:57:06 36

今天给各位分享java表格翻页的知识,其中也会对java翻页查询进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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表格翻页的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。