关于数据库字段或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

Extjs小问题之一
2、设置idProperty,避免直接使用字段名为id
Ext.define('applyPay.model.applyPayModel', {
extend: 'Ext.data.Model',
idProperty: 'id', //idProperty: 'idd',可以是不存在的
fields: [{name : , type : },{}]
});

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

相关文章:

  • 2021-10-12
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
  • 2021-11-09
  • 2022-01-15
  • 2021-12-17
猜你喜欢
  • 2021-07-26
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案