基于表值以表格形式创建行只读

时间:2013-05-15 20:06:05

标签: oracle-apex

我有一个全年更新的表格形式,我想阻止用户编辑某些行。目前'行类型'是硬编码的,但我希望应用程序管理员控制哪些'行类型'在特定时间可读/写。 My answered question, click here.

目前会触发动态操作,以防止包含“manager figure”和“sales_target”类型的行被编辑。

我为每个客户创建了一个包含三种行类型的表。每个状态都由一个数字设置:0到3(这些我将解码成对用户有意义的东西)。

  • 0 - 具有该行类型的行是只读的。
  • 1 - 用户可以使用该行类型进入行。
  • 2 - 行只读取该行类型。
  • 3 - 行已完成并设置为只读。

我为admin用户创建了一个新表单(新标签)以维护每个状态。

目前,对于客户'Big Toy Store'行应设置如下:

  • 经理图形行应该是只读的(因为设置为2)
  • 销售应该是可读的(因为设置为0)
  • 销售目标应该是可写的(因为设置为1)

我可以指向正确的方向,我调查了jquery,但努力找出如何将sql查询的输出传递给它,因此它可以用来确定哪些行应该只读。

链接:apex.oracle.com
工作区:apps2
user:developer.user
密码:DynamicAction
应用程序名称:应用程序71656只读行表格行

1 个答案:

答案 0 :(得分:0)

我不确定表格形式是一个很好的格式来解决这个想法。如您所见,您需要相当多的javascript才能生成所需的结果。不仅如此,这也是客户端,因此需要考虑一些安全风险。毕竟,我可以运行一些Firebug并禁用或恢复您所做的所有事情,甚至更改数字。特别是对于销售数据,这是你绝对想要改变的东西,也是你问题的本质,安全性很重要。
这里有更优雅的方法来控制它,而不是为了减少高度自定义的javascript代码的数量。例如,您可以取消表格形式,而是从交互式报表中实现模态弹出窗口。由于模态弹出窗口是iframe,因此是不同的页面,因此您可以创建表单页面。在表单页面上,您可以更好地控制某些元素发生的变化。您可以指定条件,只读条件或使用授权方案。所有你不能以表格形式明显使用的东西 我认为你可以通过重新思考来自己做一个服务,并探索一个不同的选择。有多少交易破坏者实际使用表格形式? 你需要用户。您需要知道他所属的组,然后必须根据不同的状态检查,并且必须禁用/禁用行。你真的希望这发生在客户端吗?
我不是说它不能以表格形式和javascript完成。它可以,我只是怀疑这是正确的方法!