Disable一个Form里面subgrid

在做项目的时候,为了不让用户修改某一特定数据,我们会把这数据的表单全部disable掉。譬如公司规定,半年以前的订单不允许修改。我们会写JavaScript,在OnLoad的时候检查某一字段,达成条件时就把所有control都disable了。但是有没有发现,如果这个表单上有个subgrid或webresource,他们并没有设为disable呢?那是因为setDisabled并不支持subgrid和webresource。

 

所以我们只能通过DOM来操作了(听说2013并不支持DOM了,用这方法的朋友以后升级时要注意)

 

通过document.getElementById(subGridLabel + "_span")可以获得subgrid真正在页面上的id。当然,你也用IE直接按f12来查看一下。


然后我们可以直接通过subgrid_element.disabled=true来把这个subgrid设为不用修改了。当然,这时候我们在ribbon上面就看不到这个entity相对应的button了。可是我们还能够点击subgrid里面的数据,会弹出修改这数据的窗口。

 

比如我们想disable这个Devices subgrid。不让用户通过subgrid增加或者删除Devices。

 

我的subgrid的Lable是Devices,那么在页面上,它的真正id就是Devices_span。


我们的JavaScript就可以写为

var subgrid =document.getElementById(“Devices_span”);

subgrid.disabled=true;

 

设置好webresource和form的onload event handler后,我们重新打开这条记录。我们就能看到这个Devices这个subgrid已经disabled了。点击这个subgrid,在Ribbon上面也不会出现相应的button了。


我们对比一下disabled=false的截图。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值