1

我有一个全年更新的表格形式,我想阻止用户编辑某些行。目前“行类型”是硬编码的,但是我希望应用程序管理员控制哪些“行类型”在特定时间是可读/写的。我回答的问题,点击这里。

当前触发了一个动态操作,以防止编辑包含“manager figure”和“sales_target”类型的行。

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

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

我为管理员用户创建了一个新表单(新选项卡)来维护每个状态。

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

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

请我指出正确的方向,我研究了 jquery,但努力弄清楚如何将 sql 查询的输出传递给它,所以它可以用来确定哪些行应该是只读的。

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

4

1 回答 1

0

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

于 2013-05-17T09:14:49.343 回答