easyui实现可新增不可编辑的datagrid及动态配置列隐藏/显示

前段时间遇到的一个问题,因为主键列不能让客户编辑,但是新增的时候需要可以填写,不知道有没有小伙伴跟我遇到同样的问题,这里给出我个人的解决方案:

可编辑的列需要设置editor属性,有关editor的Type设置为datetimebox请参考我的另一篇:

例如:

width : '120',
title : tArray[0].title,
field : 'id.'+tArray[0].field,//动态field,使用id.即取id下的属性,如有需求请参考另一篇博文.
readonly:true,
hidden:tArray[0].hidden,//动态配置是否显示
editor : {
type : 'numberbox',
options : {
precision : 3,
required:true,
disabled:true//将编辑禁用
}
},
formatter : function(value, row) {//需要对数据做处理则在此处编写返回规则
return value;
}
以上已将列设为不可编辑,但是新增的时候需要编辑,我们使用如下的方式,在调用append的时候将disabled设置为false,新增完成后列会继续变成不可编辑

var ed = grid.datagrid('getEditor', {
	index : editIndex,
	field : 'id.v0'
	});
window.setTimeout(function () {//当type为datetimebox时需要延迟设置,其余类型无需设置定时器
$(ed.target).numberbox({disabled:false});//numberbox为editor对应的type
}, 20);

经过如上操作就大功告成了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值