1

假设我有一个包含 2 列(A 和 B)的表。其中一列 (A) 将定义另一列 (B) 的 LOV。

我有一个 IG,B 列设置为“Popup LOV”,值列表为“函数体返回 PL/SQL”。我已经把这个演示查询:

begin
  if :A = '1' then
    return 'select state_name d, st r from demo_states';
  elsif :A = '2' then
    return 'select product_name d, product_id r from demo_product_info';
  else 
    return 'select null d, null r from dual';
  end if;
end;

因此,当 A 列 = 1 时,B 列的 LOV 将与 A = 2 时的 LOV 不同。

这在插入新行时有效。但是当网格第一次加载时,它并没有恢复任何值的“显示值”。所以用户总是在网格中看到 LOV 的“返回值”。调试显示此错误:“ ERR-1002 无法在应用程序“131181”中找到项目“A”的项目 ID

(查看调试消息的错误)

“A”列在 B 列中设置为“父级”和“要提交的项目”属性。必填项设置为 false。

看来这是一个错误。有人遇到过这个吗?我能做些什么?

谢谢!

4

1 回答 1

0

在 LOV 中的级联 LOV 父列属性中添加 A 列。或尝试使用源作为 SQL 查询

select state_name d, st r from demo_states where :A = '1'; union all select product_name d, product_id r from demo_product_info where :A = '2'; union all select null d, null r from dual where :A = '3';

于 2021-04-22T05:34:49.020 回答