排序表列和显示

时间:2013-02-06 05:27:10

标签: javascript jquery jsp struts2

我正在使用JSP struts 2创建动态表管理器,后端是普通的oracle DB。

这一切都完成了。 如果我将页面限制设置为10,则在更改页面时,仅提取并显示下一组10行。所以基本上在任何时候我的页面只有10行。 现在我想按列功能向这个表管理器添加排序,它类似于excel表,我们可以按列升序或降序排序。

我该怎么做?

我想的是每次点击一列时我都会按照升序或降序搜索行动并获取行。

这是最佳方式还是有其他最佳解决方案?

4 个答案:

答案 0 :(得分:0)

您以JSON对象的形式获取所有数据并使用javascript创建表(您还可以提供分页 - 使用逻辑)。在javascript中创建一个创建表的函数。现在每当完成排序(asc或desc)时,在该特定列上对JSON对象进行排序。然后再次在javascript中调用'create table'函数。这将阻止进行服务器端调用或数据库调用。处理将在您的客户端完成,这将提高您的表现 提示:一次获取所有表格数据并将其传递给前端

<强>更新
根据'name'属性为您的json对象排序对象 var sortedArray = myArray.sort(function(a,b){
if (a.name < b.name)
return -1;
else if (a.name == b.name)
return 0;
else
return 1;
});

答案 1 :(得分:0)

以下是您可以采取的多种方法

  1. 使用order by并显示结果对DB中的数据进行排序。 为此,您可以使用已经用于DISPLAYTAG
  2. 等struts的显示标记

    2。使用JavaScript库(如Jquery示例TableSorter

    )对HTML页面上的表进行排序

    3.从Db中获取一次数据并将其存储在会话中并使用java.util.Comparator对其进行排序:参考this

答案 2 :(得分:0)

如果您只使用表格,请查看以下链接。它是Jquery数据表插件。它提供分页,选择每页最大行数和列排序。

http://www.datatables.net/examples/

答案 3 :(得分:-1)

好的,你有两个选择,要么使用自己的逻辑进行分页 或尝试使用 struts2-jquery-grid-plugins

此链接是有关如何在应用程序中使用网格的完整文档

http://code.google.com/p/struts2-jquery/wiki/GridTag

这是struts2-grid-plugin的工作演示

http://struts.jgeppert.com/struts2-jquery-grid-showcase/index.action

以及您可以在这里下载war文件或源代码     http://code.google.com/p/struts2-jquery/downloads/list   找到 struts2-jquery-mobile-showcase-3.5.1.war