使用BIRT报告中的标题对客户端的数据进行排序(使用JavaScript)

时间:2015-09-23 07:57:57

标签: javascript sorting birt

我想添加到BIRT表和交叉表控制以下功能:当我点击特定列的标题时,数据按照此列按升序或降序排序。

我发现this trick使用参数对服务器端的数据进行排序,但我不想在服务器端进行排序。但是,我想在客户端使用JavaScript进行此操作。

请提供任何提示?

1 个答案:

答案 0 :(得分:1)

通常我为此嵌入Datatables。它简单,功能强大,并且具有良好的文档。

您可以访问BIRT table with Datatable here的现场演示。如您所见,所有钻取超链接操作和样式都保持不变。

基本上我们需要在报告的末尾添加一个HTML文本,将类型设置为“HTML”,并使用“head.js”在脚本标记中加载jquery和datatable。例如:

<script>

head.load("//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css","//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js",function(){
    console.log("DataTables framework loaded...");
    $("#myTableID").DataTable();  //"myTableID" should be the bookmark of the table
    console.log("Interactive table is ready!"); 
});

</script>

enter image description here

使用BIRT书签属性为表格设置ID。请注意,如果你的BIRT发射器没有在HTML表格中生成“thead”标签(只需检查html输出以查看是否生成了thead标签),你需要通过脚本修复它:移动第一行“在调用“DataTable()”函数之前,使用jquery“进入”thead“标记。确实,它需要一点点javascript知识,但正如你所看到的那样非常值得!