【问题标题】:BIRT : Generate a Dynamic Hyperlink from XML DataBIRT:从 XML 数据生成动态超链接
【发布时间】:2014-11-08 14:04:07
【问题描述】:

我有一个 XML 数据集,其值采用以下格式:

        name        value         
    ----------|----------------|
       ip     | 192.168.1.17   |
       port   | 8080           |
       suburl | report1        |

现在我要生成一个超链接,结合数据。

    For example: http://192.168.1.17:8080/birt/run?__report=test.rptdesign

我尝试了以下几行:

  1. 已创建 XML 数据集表。让它不可见。
  2. 在 onCreate 表上创建了以下脚本

    var index;
    myArray = new Array(10);
    for(index=0; index < myArray.length; index++) {
    myArray[index]=row['value'];
    }
    
  3. 我在超链接中使用了 "http://"+myArray[0]+":"+myArray[1]

    But I'm getting the following result: http://192.168.1.17:192.168.1.17
    

我认为所有数组元素似乎只包含表格的第一行。

【问题讨论】:

    标签: javascript birt


    【解决方案1】:

    根据你的描述很明显:

    您正在循环 10 次,这是 myArray 数组的长度,用 row['value'] 值填充数组的所有字段,在您运行循环时该值具有 192.168.1.17 值。

    我不明白你为什么需要以这种方式动态填充 URL 值,我相信有更简单的方法。

    【讨论】:

    • 我必须将 birt 报告集成到我们在 jboss 上运行的应用程序中。因此,html 报告被嵌入到我们的页面中:serverip:jboss-port/birt/run?__report=report1.rptdesign 服务器 ip 和 jboss 端口号可能会根据生产环境而改变。你提到的还有其他方法吗?
    • 我正在从属性文件中获取 jboss url
    • 如果我理解正确的话,表格的onCreate方法(脚本事件)是表格作为报告显示元素的报告脚本事件吗?一旦您在报告中,就没有必要生成报告 URL -> 您已经在其中了。您需要在应用程序中调用脚本之前对其进行管理
    • 好的。这里的报告是一个摘要,一种报告的仪表板。有许多超链接,这些超链接将它们引导到作为弹出窗口的单个报告。我正在使用 uris,因为钻取对我不起作用
    • 好的,但不要像名称/值那样构建数据集,而是像 sourceX/server/port/report_name 那样构建数据集,这样可以避免遇到的问题(将所有数据存储在同一行中)。如果您想坚持使用数据集来配置您的报告访问...
    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 2011-12-09
    • 2010-12-30
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    相关资源
    最近更新 更多