javascript - 使用 javascript 创建数据集(birt)

标签 javascript reporting birt

我想通过向报告传递参数来按需创建数据集,这些参数是应该查询的文件的名称,以便在报告中获取正确的列和数据,我正在考虑编辑此内容。 queryText 属性,其中“this”代表数据集,当时尚未创建。

可能吗?如果可能的话,如何实现?

非常感谢。

最佳答案

您始终可以使用脚本化数据集事件适配器来描述它。唯一的问题是报告内容不会知道这些名字。您将需要编写更多代码来处理这种情况。如果您创建空白报表并添加脚本化数据源和不带列的脚本化数据集,您可以将事件处理程序设置为类似于以下内容的类:

package my.event.handlers;

import org.eclipse.birt.report.engine.api.script.IScriptedDataSetMetaData;
import org.eclipse.birt.report.engine.api.script.IUpdatableDataSetRow;
import org.eclipse.birt.report.engine.api.script.eventadapter.ScriptedDataSetEventAdapter;
import org.eclipse.birt.report.engine.api.script.instance.IDataSetInstance;

public class MyScriptedDataSetMeta extends ScriptedDataSetEventAdapter {

private Integer cnt=0;
private Integer cntT=3;

@Override
public boolean fetch(IDataSetInstance dataSet, IUpdatableDataSetRow row) {

    if( cnt < cntT){
        try{
            row.setColumnValue("col1", cnt);
            row.setColumnValue("col2", "hello");
            row.setColumnValue("A_Column", "jjj");

            cnt++;
            return true;
        }catch (Exception e){

        }
    }
    return false;
}

@Override
public boolean describe(IDataSetInstance dataSet,
        IScriptedDataSetMetaData metaData) {
    // TODO Auto-generated method stub
    metaData.addColumn("col1", Integer.class);
    metaData.addColumn("col2", String.class);
    metaData.addColumn("A_Column", String.class);

    return true;
}

}

关于javascript - 使用 javascript 创建数据集(birt),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782621/

相关文章:

numbers - 关于 BIRT 的多个问题

birt - Birt Report Engine API 不支持 OutputFormat

javascript - 访问 Highchart dataLabels 上另一个系列行的数据

reporting-services - 错误: The specified TargetServerURL is not valid.在部署设置中为报表服务器指定有效的URL

javascript - 如何在 Vue 工作流(Vanilla Bootstrap)中覆盖 Bootstrap 变量?

java - 在 BIRT 中将两列相乘

php - 从 PHP Web 应用程序打印客户端报告

MySQL 一些行到列

javascript - 方法在数据静态时工作,并在从 Promise 获取数据时归档

javascript - React - 当值具有不同类型(并不总是 e.target.value)时,如何将多个输入值传递给更改事件中的子项?