选中的项目,要打印出复选框

问题描述 投票:-1回答:1

我有一个带有子数据的条目,这里是带有子项目的检查按钮。如果我选中了这些项目,那么选中的项目应该被打印出来,而不是这个父项目的所有子项目。如何做到这一点?

oracle plsql plsqldeveloper oracleforms oraclereports
1个回答
0
投票

我能想到的最简单的办法是提交你所做的更改(即把复选框的值存储到表中)。

然后通过传递 "master "行ID来调用报表。报表的查询就会像这样。

select some_columns
from master_table m join detail_table d on d.master_id = m.master_id
where m.master_id = :par_master_id
  and d.checkbox = 1

报告的查询就会是这样的: where 条件将确保只打印被选中的行。

为了 "重置 "它,你可以使用 "报告后 "触发器和

update detail_table set
  checkbox = 0
where master_id = :par_master_id

然而,这在多用户环境中是行不通的,因为许多用户可能会使用相同的数据,并 "覆盖 "彼此的复选框。更好的选择是创建额外的表,并存储[user, master_id, detail_id]行,这样每个人都可以使用自己的值。

或者,在表格中,如果没有太多的子记录,使用循环来连接检查行的ID,并将它们传递给报表,报表会将该字符串分割成行。

© www.soinside.com 2019 - 2024. All rights reserved.