基于SAS的软件中的分页

时间:2012-02-16 06:27:12

标签: java javascript jquery jsp pagination

我正在使用jsp,servlet和java开发基于SAS的系统。我很困惑使用客户端分页(一次性获得所有结果)或使用服务器端(每次点击)。

如果我使用客户端分页,那么有多少数据是o.k.什么是实现分页的最佳方式,如javascript,ajax,jquery等。

3 个答案:

答案 0 :(得分:2)

我认为基于js / jquery的Ajax分页对数据提取很有帮助。您需要考虑是否需要排序。我在7个月前实现了基于jQuery的分页,那时由于数据太多,分页几乎变得非常慢(每页1000行10行)。因此,请确保您实现基于Ajax的分页。

我用过这个:http://tablesorter.com/docs/

并且:http://tablesorter.com/docs/example-ajax.html

另外,有用的链接:
http://www.xarg.org/2011/09/jquery-pagination-revised/

P.S。 - 对分页实现的语法和类非常小心。一个拼写错误,你可能会陷入困境。

额外信息:如果您正在考虑使用其他语言,请尝试使用Ruby on Rails。您可以使用will_paginate或Kaminari gem来简单实现分页。

答案 1 :(得分:2)

这实际上取决于您的数据量以及用户在其会话中加载该页面的概率。 如果数据集限制为最大100 *行左右,并且每个记录的列数较少,那么您可以选择客户端分页。但是,如果数据集的最大值未知或者它将逐渐增长,那么最好选择服务器端分页。 使用jQuery的Ajax绝对是可行的方法。每个jQuery网格插件都有自己的分页机制,但基本逻辑类似:

  1. 您需要设计您的后端API,以便他们接受 maxResultscurrentPage作为参数,以及其他参数。
  2. 与您的数据库交互的API获取最大maxResults号。行和第一行从(currentPage -1) * pageSize
  3. 开始

    我一直在使用jQgrid,并且发现它有很好的文档记录并且易于实现。 实用帖子: https://stackoverflow.com/questions/159025/jquery-grid-recommendations

    注意:* 100只是一个例子,不要从字面上理解它:)

答案 2 :(得分:1)

我当然会考虑服务器端分页和客户端分页的组合。 返回1000(或10000+)行数据是没有意义的,如果您要做的就是一次显示10。

如果您要在网格中显示数据,那么我建议您查看Datatables.net。它们有一些很棒的examples,包括paginationpipelining your data from the server(即返回比实际显示的记录多一些的记录,因此您可以减少检索更多数据的次数。)