基于SAS的软件中的寻呼
Pagination in SAS based software
我正在使用jsp、servlet和java开发一个基于SAS的系统。我对使用客户端分页(一次性获得所有结果)或使用服务器端(每次单击)感到困惑。
如果我使用客户端分页,那么有多少数据是可以的。实现分页的最佳方式是什么,如javascript、ajax、jquery等。
这实际上取决于数据量和用户在会话中加载该页面的概率。如果数据集被限制为最多100*行左右,并且每个记录都有几个数据大小较小的列,那么可以使用客户端分页。但是,如果数据集的最大值是未知的,或者它将逐渐增长,那么最好进行服务器端分页。Ajax和jQuery无疑是一条不错的选择。每个jQuery网格插件都有自己的分页机制,但基本逻辑相似:
- 您需要设计后端API,以便它们接受
maxResults
和currentPage
作为参数以及其他参数 - 与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。他们有一些很好的例子,包括分页和从服务器上管道传输数据(即,返回的记录比实际显示的多,所以检索更多数据的调用更少)。
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- 我们可以防止广告软件插件干扰我们的网站吗
- 如何在同一页面上的Angular应用程序和非Angular应用软件之间进行通信
- Meteoric(Meteor Ionic)软件包实现故障——Ionic样式未显示
- 网吧启动器软件与电子
- 如何使用“;system_ indicator”;在Chrome软件包应用程序的框架中
- 恶意软件将代码注入我的Dojo/WebSocket应用程序:如何防止
- Bower安装的相同软件包文件结构不同
- 如何在 Laravel 中使用 npm 正确引用新安装的软件包的路径
- 这个嵌入式视频编辑器软件是什么
- HTML/JS-检测Android软件版本(并切换css文件)
- CORS预检请求错误无法通过安装npm cors软件包解决
- 将系统.js文件从jspm_packages移动到另一个文件夹,无法解析配置中的软件包
- 通过JPSM安装一些软件包
- 错误:在 ec2 bitnami MEAN 服务器上找不到软件包“cairo”
- NodeJS读取和生成SAS文件:xport和sas7bdat
- Dojo build 1.7 构建的软件包不起作用
- 为什么在 php 网站中存在恶意软件问题 在 javascript 文件中不断存在
- 确定使用PHP/JavaScript安装在计算机中的软件
- 基于SAS的软件中的寻呼