3

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

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

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

提前谢谢了 :)

高拉夫

4

3 回答 3

4

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

样品线:$("[name=f01]").css("pointer-events","none");

于 2015-11-23T00:25:21.297 回答
1

这可以使用 javascript 来完成。阅读以下带有详细说明的演示以执行此类任务Tabular Form's Column Read-Only and No Duplication以及此讨论

例如:

if ($x(field_id).value != "") {
    $x(field_d).readOnly = "readonly";
 }
于 2015-11-24T09:41:33.273 回答
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");


};
于 2018-02-08T18:20:02.410 回答