【发布时间】:2010-04-12 02:03:24
【问题描述】:
我使用 WebViewerExample 作为报告。
我正在使用报表设计器在 Eclipse 中设计报表。
我有一张有几列的表格。从数据库中检索数据。
是否有一种简单的方法可以通过单击列标题名称对表格进行动态排序?
我尝试将字符串作为排序条件传递,但没有帮助。
有什么想法吗?
【问题讨论】:
我使用 WebViewerExample 作为报告。
我正在使用报表设计器在 Eclipse 中设计报表。
我有一张有几列的表格。从数据库中检索数据。
是否有一种简单的方法可以通过单击列标题名称对表格进行动态排序?
我尝试将字符串作为排序条件传递,但没有帮助。
有什么想法吗?
【问题讨论】:
您是否尝试过在查询中添加一个 ORDER BY 并对其进行十个参数化?您可能需要编写一些真正轻量级的脚本,以便在运行时处理底层查询。我们所说的只是对查询中的排序条件进行字符串替换。
原始查询:
SELECT Col1, Col2, Col3, Col4
FROM Table1
WHERE Something = Something
ORDER Col1 ASC
数据集上的 beforeOpen 事件:
this.queryText = this.queryText.replace("Col1", "Your new Sort Spec");
这样就可以了。祝你好运!
【讨论】:
在报告中做排序或过滤参数不可能是一个解决方案
所以改变查看器来完成工作而不是报告
http://dev.sonid.fr/BirtViewer/ (将鼠标放在列标题上)
【讨论】:
有一个更简单的方法,如果你有一个默认值。
首先设置一个参数,作为排序标准,在我的例子中,我称之为“排序”。 然后选择表,转到排序选项卡,并使用以下表达式: 行[参数[“排序”].值]。
这将按您传入的参数对表格进行排序。您需要确保列名正确。
【讨论】: