easyui datagraid updataRow 无效

在项目开发中,使用EasyUI的datagrid遇到更新行数据时,updateRow方法未生效的问题。尽管表格数据请求无误,但行数据无法成功更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在做项目时,使用了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
					});
参考easyuiAPI也没发现有什么错误的地方,但是把index:index改成具体的数字,更新就完全没问题!!
最后无意中使者将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格式数据




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值