能否定义交互式网格的列序,使列序根据用户的输入而改变,比如用户在选择列表中选择 "A "作为值,那么报表的列序应该是 "A1"、"A2"、"A3"、"B1"、"B2"、"B3 "和 "B1"。
例如,如果用户在选择列表中选择'A'作为值,那么报表的列序应该是'A1','A2','A3','B1','B2',B3',如果用户在选择列表中选择'B'作为值,那么报表的列序应该是'B1','B2','B3','A1','A2','A3'。
有什么方法可以实现吗?
我相信有几种可能性可以做到这一点。没有测试过任何一种,你需要自己做重头戏。
正如我所说,我还没有测试过。我也没有机会安装5.1版本,所以你只能靠自己了。
一个选择是使用 UNION
,例如
select a1, a2, a3, b1, b2, b3
from your_table
where :P1_SELECT_LIST = 'A'
union
select b1, b2, b3, a1, a2, a3
from your_table
where :P1_SELECT_LIST = 'B'
注意,数据类型中的列必须匹配。
如果它们不匹配,就会有另一个 简单的 解决方法:"按原样 "创建报表(网格),以任意顺序使用所有列。运行页面,进入 "操作 "菜单,"列 "以 重新排序 以任何你想要的方式列。然后将该报表保存为 习俗 报告。对另一个布局做同样的工作。这样做,你就有两个布局可供选择。