我有一个全年更新的表格形式,我想阻止用户编辑某些行。目前'行类型'是硬编码的,但我希望应用程序管理员控制哪些'行类型'在特定时间可读/写。 My answered question, click here.
目前会触发动态操作,以防止包含“manager figure”和“sales_target”类型的行被编辑。
我为每个客户创建了一个包含三种行类型的表。每个状态都由一个数字设置:0到3(这些我将解码成对用户有意义的东西)。
我为admin用户创建了一个新表单(新标签)以维护每个状态。
目前,对于客户'Big Toy Store'行应设置如下:
我可以指向正确的方向,我调查了jquery,但努力找出如何将sql查询的输出传递给它,因此它可以用来确定哪些行应该只读。
链接:apex.oracle.com
工作区:apps2
user:developer.user
密码:DynamicAction
应用程序名称:应用程序71656只读行表格行
答案 0 :(得分:0)
我不确定表格形式是一个很好的格式来解决这个想法。如您所见,您需要相当多的javascript才能生成所需的结果。不仅如此,这也是客户端,因此需要考虑一些安全风险。毕竟,我可以运行一些Firebug并禁用或恢复您所做的所有事情,甚至更改数字。特别是对于销售数据,这是你绝对想要改变的东西,也是你问题的本质,安全性很重要。
这里有更优雅的方法来控制它,而不是为了减少高度自定义的javascript代码的数量。例如,您可以取消表格形式,而是从交互式报表中实现模态弹出窗口。由于模态弹出窗口是iframe,因此是不同的页面,因此您可以创建表单页面。在表单页面上,您可以更好地控制某些元素发生的变化。您可以指定条件,只读条件或使用授权方案。所有你不能以表格形式明显使用的东西
我认为你可以通过重新思考来自己做一个服务,并探索一个不同的选择。有多少交易破坏者实际使用表格形式?
你需要用户。您需要知道他所属的组,然后必须根据不同的状态检查,并且必须禁用/禁用行。你真的希望这发生在客户端吗?
我不是说它不能以表格形式和javascript完成。它可以,我只是怀疑这是正确的方法!