问题:
easyui datagrid内combobox在换行或者结束行编辑的时候(未进行保存操作),显示的依然是修改之前的数据。
保存之后可以看出,保存的是修改之后的数据,所以修改数据是成功的,是combobox的数据显示出现了问题。
解决思路及方法:
因为格式化函数返回的值是后台传过来的,在没有进行保存操作之前,返回的是未修改之前的值,所以需要前端修改一下格式化函数的返回值,这样子在没有进行保存操作之前,结束该行行编辑,combobox显示的就是修改值了。
///列配置对象
field: 'auDeptId',
title: 'XXXX',
align: 'left',
width: 120,
formatter: function (value, row, index) {
return row.audeptName;
},
editor: {
type: 'combobox'
}
///前端渲染
var ed = $('#AddMainGrid').datagrid('getEditor', {
index: editIndex,
field: 'auDeptId'
});
if (ed) {
var auDeptName = $(ed.target).combobox('getText');
$('#AddMainGrid').datagrid('getRows')[editIndex]['audeptName'] = auDeptName;
}
使用情况
1.行点击事件的换行操作
2.结束行编辑之前