基于SAS的软件中的寻呼

Pagination in SAS based software

本文关键字:软件 SAS 基于      更新时间:2023-09-26

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

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

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

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

我一直在使用jQgrid,发现它文档化很好,实现起来很简单。有用的帖子:https://stackoverflow.com/questions/159025/jquery-grid-recommendations

注意:*100只是一个例子,不要逐字逐句:)

我认为使用Ajax进行基于js/jquery的分页以获取数据非常棒。您需要考虑是否需要排序。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/

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

额外信息:如果您正在考虑使用不同的语言,请尝试使用RubyonRails。您可以使用will_paginate或Kaminari gem来简单地实现分页。

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

如果你要在网格中显示数据,那么我建议你看看Datatables.net。他们有一些很好的例子,包括分页和从服务器上管道传输数据(即,返回的记录比实际显示的多,所以检索更多数据的调用更少)。