我在这里寻找一些普遍的智慧。
我正在寻找一种优雅简单的方法来限制表中显示在页面上的行数,并使用"view all>>"来显示视图中的整个表。我考虑了以下所有因素,。。。一些组合:
- 两个不同的部分,。。。一个列出有限数量的行,底部有"查看所有>>"链接,另一个列出所有行,底部则有"折叠>>"链接
- 使用jQuery
- css解决方案
- ajax
除了你选择一个而不是另一个的理由之外,任何链接和/或片段都会很有帮助。我更愿意尽量减少服务器/数据库请求,而不为程序员(我)的独创性创建大量的编码纪念碑:=]
谢谢!
更新:看看这里可以看到之前编写的代码可以进行改编。非常感谢Neal提供的jsfiddle.net资源。
大表的一个伟大解决方案是网格。我选择的网格是DataTables
网格解决了很多问题:排序、分页、过滤、ajax加载以及显示/隐藏结果。你可能只是在谈论等式的限制部分,但我认为所有的功能在接口中都有价值,所以它们都值得一看
设置它很容易,您有三个数据选项:
- 使用
<thead>
和<tbody>
标记构建一个合适的HTML表。网格解释DOM并相应地设置样式 - 提供一个包含表数据的有效JSON字符串。DataTables为您构建HTML
- 通过AJAX提供JSON。这也允许您";管道";数据,以查找所需之前和之后的数据
Datatables是JQuery驱动的,因此您必须包含JQuery和Datatables代码。还有一点CSS可以让事情变得"简单";漂亮的";就是这样……很容易。一旦掌握了窍门,从头开始生成一个新的DataTable需要2-3分钟。考虑到这些功能,这是对UI的最低投资。
至于性能,我有一个DataTable,可以毫无故障地处理250万条记录。它利用JSON管道、分页、排序和过滤(以及索引良好的MySQL数据库)来保持可接受的性能。