EasyUi Datagrid 中怎样动态的改变 editor的Type

2024-11-18 05:37:35
推荐回答(1个)
回答1:

定义一个变量存放正在编辑的行,通过updateRow这个方法从新执行formatter这个方法通过这个变量判断选择哪个就可以

field: 'operate',
title: '操作',
//title: $res_entry('SCB.label.status'),
width: 100,
formatter: function(value, rowData, rowIndex){
var operate = '修改'
if (editorRow != -1 editorRow == rowIndex) {
operate = '保存 ' +
'取消';
}
return operate;

}

/**
* 修改
*/
function modify(index){
//判断是否只有一行在修改
var num = POSStockRowTable.datagrid('getSelections');
if (editorRow == -1) {
//当没有数据编辑时则进行编辑
//打开编辑器进行编辑
POSStockRowTable.datagrid('beginEdit', index);
//将当前编辑的行号给记录在编辑的行变量中
editorRow = index;
//更新当前编辑行的内容,用于改变操作的数据 operate 列值
POSStockRowTable.datagrid('updateRow', {
index: index,
row: {
operate: ""
},
});

}
else {
//当有数据编辑时提示是否保存
$.messager.confirm('提示', '是否保存正在修改的数据', function(btn2){
//点击确定则保存,否则取消
if (btn2) {
//存放正在编辑的行号
var index = editorRow;
editorRow = -1;
POSStockRowTable.datagrid('endEdit', index);
}
});
}

}