【EasyUI】如何根据条件控制可编辑表格某字段是否可以编辑;
程序员文章站
2022-06-08 17:07:08
...
一、问题
最近遇到了一个比较棘手的问题:我有一个可编辑列表,有操作员-经理-总经理三级审批;但是只有是操作员才可以添加修改,然后发起流程,其他的角色将不能添加修改,对于该可编辑列表只能查看,后面的角色,只能新增审批意见;如何根据登陆用户的角色,来控制页面上可编辑表格的修改权限?
二、分析
角色,权限信息我都可以获取到,目前的问题是,如何修改EasyUI中可编辑表格的【是否可编辑状态】;
该目标实现的难点在于:
1.非全页面设置可读可写,而是局部控制可读可写;
2.要根据角色变化【可编辑表格】的属性;
三、解决
基本语法:
在table标签上加入如下信息:
dataOptions="onClickRow:fun1";
dataOptions是添加在【标签】上的属性,里面可以添加用户执行的动作;onClickRow表示用户单击某一行的记录时触发;冒号后面是触发的方法;触发方法如下:
在js中加入如下事件方法:
function fun1(rowIndex,rowData){
//此处添加过滤条件
//下面这句是:是否失效
${'目标表的id'}.datagrid('getEditor',{index:rowIndex,field:'目标字段'}).target.renderDisabled(true);
}
说明:
1.入参rowIndex表示选中的那一行的下表,从0开始;rowData表示那一行的数据;
2.${‘目标表的id’}是用来获取目标表格的所有数据;
3.datagrid表示EasyUI获取表格数据(网格数据)的方法;index,表示下标;field表示那一行的具体的字段;target表示获取目标。renderDisable()方法是渲染方法,表示是否有效;boolean值true表示有效,可以编辑;false表示无效,点击后,会变成灰色的不可编辑的矩形方块;