我正在使用JSP struts 2创建动态表管理器,后端是普通的oracle DB。
这一切都完成了。 如果我将页面限制设置为10,则在更改页面时,仅提取并显示下一组10行。所以基本上在任何时候我的页面只有10行。 现在我想按列功能向这个表管理器添加排序,它类似于excel表,我们可以按列升序或降序排序。
我该怎么做?
我想的是每次点击一列时我都会按照升序或降序搜索行动并获取行。
这是最佳方式还是有其他最佳解决方案?
答案 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)
以下是您可以采取的多种方法
2。使用JavaScript库(如Jquery示例TableSorter
)对HTML页面上的表进行排序3.从Db中获取一次数据并将其存储在会话中并使用java.util.Comparator对其进行排序:参考this
答案 2 :(得分:0)
如果您只使用表格,请查看以下链接。它是Jquery数据表插件。它提供分页,选择每页最大行数和列排序。
答案 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