jQuery Scrollable,Sortable,Filterable表

时间:2008-10-10 18:44:32

标签: javascript jquery html

我希望利用jQuery来处理我们为不同大小的数据表获得的一些非常常见的请求:滚动,排序和动态过滤。

  • 我过去通过两个具有固定宽度列的单独表格以及用于“实际”滚动的相关div容器来处理滚动。但是,这个方法不适用于我遇到的任何基于jQuery的排序表扩展(到目前为止,tablesorter是我最喜欢的),因为他们想要在一个表中的所有内容。
  • 对于过滤,他们要求的内容类似于Excel和SharePoint列表的操作方式(基本上所有列值都列在下拉列表中,允许用户选择/取消选择它们)。我还没有见过这样的东西,虽然听起来有可能。
  • 另一个相关的好处是能够“冻结”一列进行水平滚动。

理想情况下,我想要一个现有的扩展,但如果没有,我也很欣赏任何jQuery专家关于如何最好地实现它的建议。我目前的想法是深入研究tableorter并根据需要扩展/更新它。

为了让事情更加集中,分页不是一种选择(就任何基于服务器而言都是如此)。

更新 到目前为止,我确实很欣赏这些答案,但到目前为止所给出的选项都没有涉及过滤方面(也就是说,我必须承认jqGrid看起来非常适合我以后的一些项目)。与此同时,我将致力于定制过滤解决方案;如果它成功了,我会再次更新。

6 个答案:

答案 0 :(得分:13)

我遇到了这个问题,因为我自己正在寻找一个可排序的表格插件;我对任何建议的小部件都没有留下深刻的印象,但后来我发现了DataTables,我印象非常深刻。我建议检查一下。

答案 1 :(得分:8)

也许这个优秀的插件可以做到:

Demo page

它叫做jQGrid,这是项目页面: http://plugins.jquery.com/project/jqGrid

答案 2 :(得分:4)

我建议你试试Flexigrid

它有很多很棒的功能,我个人认为它看起来比jqGrid更专业。

它没有你要求的一些功能,但我认为这可能是一个好的开始。如果您可以将一些功能添加到代码库中,那就太棒了。

如果您使用c#进行编码,那么我发布了一篇关于如何使用LINQ to Reflection to bind JSON to the Flexigrid的博客文章...如果您使用其他语言,您可以在Flexigrid's Website& Google Group页。

答案 3 :(得分:3)

答案 4 :(得分:1)

正如我的更新中所提到的,我最终使用了自定义过滤扩展(不幸的是,闭源)。我最近开始使用SlickGrid,它现在是我的首选网格。

答案 5 :(得分:0)

我想添加Laravel风格的DataTables(GitHubjquery DataTables API) - 如果你已经使用过PHP / Laravel,那就太完美了。

额外的,koalyptus/TableFilter另一个自定义过滤器表(实际上,我的收藏夹)。