Ruby on Rails 3 - 什么是最优雅的桌面手风琴/"show more >>"解决方案?



我在这里寻找一些普遍的智慧。

我正在寻找一种优雅简单的方法来限制表中显示在页面上的行数,并使用"view all>>"来显示视图中的整个表。我考虑了以下所有因素,。。。一些组合:

  1. 两个不同的部分,。。。一个列出有限数量的行,底部有"查看所有>>"链接,另一个列出所有行,底部则有"折叠>>"链接
  2. 使用jQuery
  3. css解决方案
  4. ajax

除了你选择一个而不是另一个的理由之外,任何链接和/或片段都会很有帮助。我更愿意尽量减少服务器/数据库请求,而不为程序员(我)的独创性创建大量的编码纪念碑:=]

谢谢!

更新:看看这里可以看到之前编写的代码可以进行改编。非常感谢Neal提供的jsfiddle.net资源。

大表的一个伟大解决方案是网格。我选择的网格是DataTables

网格解决了很多问题:排序、分页、过滤、ajax加载以及显示/隐藏结果。你可能只是在谈论等式的限制部分,但我认为所有的功能在接口中都有价值,所以它们都值得一看

设置它很容易,您有三个数据选项:

  1. 使用<thead><tbody>标记构建一个合适的HTML表。网格解释DOM并相应地设置样式
  2. 提供一个包含表数据的有效JSON字符串。DataTables为您构建HTML
  3. 通过AJAX提供JSON。这也允许您";管道";数据,以查找所需之前和之后的数据

Datatables是JQuery驱动的,因此您必须包含JQuery和Datatables代码。还有一点CSS可以让事情变得"简单";漂亮的";就是这样……很容易。一旦掌握了窍门,从头开始生成一个新的DataTable需要2-3分钟。考虑到这些功能,这是对UI的最低投资。

至于性能,我有一个DataTable,可以毫无故障地处理250万条记录。它利用JSON管道、分页、排序和过滤(以及索引良好的MySQL数据库)来保持可接受的性能。

相关内容

  • 没有找到相关文章

最新更新