首页 > 代码库 > easyui的datagrid的列checkbox自定义增加disabled选项
easyui的datagrid的列checkbox自定义增加disabled选项
需求根据权限判断datagrid的每一列的checkBox是否可选,看了下文档,发现editor的checkbox应该能实现这个功能,但我们项目自己将easyui外面包了一层,把原生的editor改成了浮动形式的,并且由外面包那一层那初始化这个浮动的editor。而我要改的地方没有用外面包这样一层,如果用的话会很麻烦,牵扯的地方很多,于是就只有在Column的checkBox属性上想办法了。
看easyui的源代码,找到defaultView的renderRow方法,在渲染checkBox的地方cc.push(‘input type=‘checkbox‘)加上判断if(col.checkFormatter)就调用checkFormatter方法,获得visible,checked,enabled属性,然后用这些属性渲染那个input就可以了。
然后在column的属性里加上这两个属性:checkbox:true,checkFormatter:function(fied,rowData,rowIndex){return {visible:,checked:,enabled:}},这里调用这个方法的时候将三个参数传进去了,并且将this指针也改变了。col.checkFormatter.call(col,rowData[field],rowData,rowIndex)。
其实更好的方式可以把这两个属性合并成一个属性,就用checkBox就可以,先判断checkBox是不是boolean类型的,如果是就直接过,如果不是那么看看是不是对象,再从对象里找想要的属性。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。