已更改列值的Oracle Apex 4.2表格形式复选框

时间:2017-07-24 14:58:41

标签: oracle forms plsql oracle-apex tabular

我有一个Apex表格形式:

ID Name    Title   Class    ROW_EDIT <br>
1  Smith    Mgr     AP      (checkbox)<br>

等...

我正在尝试激活'复选框'ROW_EDIT列 - 其默认值为Y - 当用户更改表格形式列Class的值时(选择列表) )在同一行。如果更容易,我可以将ROW_EDIT属性更改为文本(即Y

我没有要引用的页面的apex_items - 所有列都是表格形式。

我研究了一些动态变化事件 - 但我似乎无法正确设置行引用。

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

不幸的是,上次我看到APEX 4.2是2年前,我现在还没有 这个想法如下:

  • 添加onchange事件以选择列表。我不记得有一种简单的方法可以做到这一点。如果没有,您可以使用APEX_ITEM包手动创建选择列表。为此,请在源查询中写入:

    select apex_item.select_list_from_lov (
             p_idx => 10, 
             p_value => class, -- it is a name of a table column
             p_lov => 'my_lov_name', 
             p_attributes => 'onchange="my_func.call(this);"')
      from ...
    
  • 在页面属性(JavaScript部分)中,创建一个javascript函数:

    function my_func () {
       this.parentElement.parentElement.getElementsByTagName("input")[0].checked = true;
    }
    

函数中的参数this是对选择列表的引用。因此,this.parentElement.parentElement - 引用具有触发选择列表的行,getElementsByTagName("input")[0]是一个复选框。如果行中有多个输入元素,请使用正确的索引而不是0 您可以在此处查看此JavaScript代码的工作原理:https://codepen.io/anon/pen/NvPmPp