近期在做项目时,使用了easyui,在做到更新表格中的某一行数据时,遇到了调用updataRow方法时,数据更新无效的情况
表格请求数据无问题
$("#dgd_buliding_ref").datagrid({
singleSelect : true,
queryParams : {block_id : this.p_projectBlock_id},
fitColumns : false,
rownumbers : true,
idField : 'projectBuildingId',
url : 'building/getProjectBuildingListByBlock',
columns : [ [
{
field : "projectBuildingId",
title : "工程楼号",
width : 80,
halign : 'center',
align : 'center'
},{
field : "projectBuildingCode",
title : "工程楼号",
width : 80,
halign : 'center',
align : 'center'
}, {
field : "projectBuildingName",
title : "营销楼号",
width : 80,
halign : 'center',
align : 'center'
}, {
field : "productType",
title : "业态类型",
width : 100,
halign : 'center',
align : 'center',
formatter : function(value) {
var val = '';
$.each(buliding_ref_set.p_productTypeData, function(n, v) {
if (v.dictId == value) {
val = v.dictValue;
return false;
}
});
return val;
}
}, {
field : "buildingGroupId",
title : "所属组团",
width : 80,
halign : 'center',
align : 'center',
formatter : function(value) {
var val = '';
$.each(buliding_ref_set.p_buildingGroupData, function(n, v) {
if (v.buildingGroupId == value) {
val = v.buildingGroupName;
return false;
}
});
return val;
}
}, {
field : "attribute1",
title : "明源计划楼栋ID",
width : 300,
formatter : function(value) {
if(value){
var val = value+'关联楼栋';
return val;
}else{
return '关联楼栋';
}
},
halign : 'center'
},{
field : "attribute2",
title : "明源实际楼栋ID",
width : 300,
formatter : function(value) {
if(value){
var val = value+'关联楼栋';
return val;
}else{
return '关联楼栋';
}
},
halign : 'center'
}] ]
});
但是在做数据行更新时,调用updataRow时,就无法更新页面显示数据,更新数据行代码如下
var index = $('#dgd_buliding_ref').datagrid('getRowIndex',$("#dgd_buliding_ref").datagrid('getSelected'));
$('#dgd_buliding_ref').datagrid('updateRow',{
index:index,
row: data
});
最后无意中使者将row:data改成 row : {data:data}竟然能够更新成功
更新代码如下
var index = $('#dgd_buliding_ref').datagrid('getRowIndex',$("#dgd_buliding_ref").datagrid('getSelected'));
$('#dgd_buliding_ref').datagrid('updateRow',{
index: index,
row: {data:data}
});
总结如下:如果只是更新表格中的单个单元格,用API中给的方式是没为题的,但是如果row的数据是个行对象数据,那么久需要添加data:data格式数据