Oracle APEX表格形式,需要将列设为只读。单击“添加行”时在新行上除外

时间:2015-11-22 11:33:46

标签: oracle oracle-apex tabular-form lov

我是Oracle APEX的新手。你可以帮我解决下面的问题吗? 我正在使用APEX 5.0

我有一个主详细信息页面,其中有一个表格形式。其中一列是从选择列表中使用LOV。

现在我必须将此列值设置为只读,以便用户无法更改它,除非在单击“添加行”时在新行上进行更改。

非常感谢提前:)

拉​​夫

3 个答案:

答案 0 :(得分:3)

我假设您知道如何使用浏览器的“Inspect element”功能。 (如果没有,那么这是怎么回事): 运行您的页面。然后右键单击要设置为只读的列中的一个选择列表。页面底部会出现一个窗口。获取它的名称属性。应该是以“f0 ..”开头的东西(例如“f01”)。 然后在页面上的“在页面加载时执行”部分输入以下代码行: $("[name=the_name_you_just_copied]").css("pointer-events","none");

示例行:$("[name=f01]").css("pointer-events","none");

答案 1 :(得分:1)

这可以使用javascript完成。请阅读以下演示,其中包含详细说明,以执行此类任务Tabular Form's Column Read-Only and No Duplication和此 discussion

例如:

if ($x(field_id).value != "") {
    $x(field_d).readOnly = "readonly";
 }

答案 2 :(得分:0)

感谢万斯的解决方案。我有一个类似的问题,但我希望它只是一个动作的只读。所以$("[name=f01]").css("pointer-events","none");也可以在任何javascript函数中使用。

function alerts_c(){

     var insno= $v('P14_SYSINSNO');
     var workDate = $v('P14_WORK_DATE');


    $('.t-Report-report tr').last().find('[name=f02]').val(insno)
    $('.t-Report-report tr').last().find('[name=f03]').val(workDate)
    $("[name=f02]").css("pointer-events","none");
    $("[name=f03]").css("pointer-events","none");

    apex.event.trigger(document,"alerts_d");


};