BIRT中可以通过JavaScript实现动态报表列。具体步骤如下:
在报表设计中添加一个多选下拉框,用于选择要显示的列。
添加脚本,在动态列的数据集中使用以下代码来动态添加列:
var columnKeys = params["columnSelected"].split(",");
var columnCount = columnKeys.length;
for(var i = 0; i < columnCount; i++){
var columnName = columnKeys[i];
var dataSetColumn = new Packages.org.eclipse.birt.report.data.adapter.api.DataSetColumn(columnName, "column_" + columnName);
dataSet.addColumn(dataSetColumn);
}
注:其中'columnSelected”为多选下拉框的名称,'column_”为所生成列的列名前缀,需与动态列数据集中的列名匹配。
if(columnName == "xxx"){ //xxx为动态列的列名
row["column_xxx"] = xxx; //column_xxx为所生成列的列名
}
注:需根据实际表格数据进行设置。