Extjs小问题之一

关于数据库字段或model中有fields的name为‘id’时,数据库中有ID字段重复(不是主键)的多条数据,但gridpanel只显示一条记录

1、问题描述:

后台返回的数据有多条,分页栏PagingToolbar显示的记录总数也正确,但gridpanel却只显示当前页的最后一条记录。

  • 这是因为主键重复,字段id都为一样的,导致extjs无法找到主键,这是extjs的一个bug。 在grid的getStore的load的回调函数中,用getCount到到的是一条数据。也就是服务端返回了多条数据,但是extjs只解析了一条数据,同样,extjs也不能解析符合主键。(extjs会把id相同的所有数据当做是一条数据,返回为null,则没问题)

2、解决方案:


  • 这里直接介绍鄙人常用的方法,其他的欢迎大佬补充;

1、重新设置idProperty

这里写图片描述
2、设置idProperty,避免直接使用字段名为id
Ext.define('applyPay.model.applyPayModel', {
extend: 'Ext.data.Model',
idProperty: 'id', //idProperty: 'idd',可以是不存在的
fields: [{name : , type : },{}]
});

备注:数据库中尽量不使用id作字段名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值