/** * 通过将检索结果结合中的记录分页加载的方法,实现控制检索结果记录的分页显示与快速加载 * * @param facttable 显示检索结果的GUI表格对象 * @param pagenum 显示在表格对象中的检索结果页码,从1开始计算 */ private void openCurrentTable(final int pagenum) { table.clearAll(); // 清空表格所有项目中的数据 // 数据记录在检索结果结合中的下标开始值 final int recordstart = (pagenum - 1) * pageSize; // 当前表格能显示的最后一条记录在检索结果集合中的索引号 int end = recordstart + pageSize; // 若表格可显示的记录大于检索结果记录的总数,就只显示到最后一条检索结果记录 final int recordend = Math.min(end, stationData.getRowCount()); // 显示的最后一条记录在检索结果集合中的索引号 // 当前页面显示的检索结果记录数 final int currentdispnum = recordend - recordstart; // 根据当前的页码,从检索结果集合中加载相应的数据到表的item域中 tableViewer.setInput(stationData.getRow(recordstart, recordstart + currentdispnum)); // 自动输入数据 tableViewer.refresh(); // 刷新表格false }