使Oracle Apex报表表格元素为只读

时间:2010-09-29 17:30:23

标签: oracle-apex

问候:

无论如何在Apex 3.2中有条件地只读一个顶点报表表单元格(甚至整个报表本身)吗?我没有在选项中的任何地方看到“只读”框;试着到处寻找。

提前致谢!

2 个答案:

答案 0 :(得分:1)

好的,我在概念上有错误。我想把表格形式设为只读。这就是为什么我看不到“只读”框。如果打开生成的页面的源,则每列都给出一个具有以下命名约定的id:

id="f02_0001"

此表格单元格位于第2列第1行。因此,您可以使用JavaScript循环遍历列并修改其属性。在这个例子中,我使用jQuery:

var payments = $("[id^='f08_']"); // get all cells for column 8

// loop through items
$.each(payments, function(){
   alert($('#'+this.id).val());       
   // make whatever changes you want to this.id, such as make read-only
});

答案 1 :(得分:1)

由于整个tabform对于特定用户都是只读的,因此您可以在渲染时执行此操作,而不是使用Javascript。但是,每列需要2份副本:

  1. 要为授权用户显示的列,而不是只读
  2. 要为未授权用户显示的相同列,其中元素属性设置为readonly=readonly
  3. Authorisation schemes可用于控制向用户显示哪些列。

    我希望找到一种方法来使用单个列和元素属性的动态值来完成此操作,但我无法使其工作。