1

我需要对存储的字段值的值和总和进行分组。对值求和时,我得到的是 NaN。我从 json 响应中得到空值。谁能告诉我如何在 extjs 中用 0 替换 null ?在对字段值求和时,还有其他方法可以避免 Nan 吗?

clientDistributionStore.group(groupField);
curJANObj= clientDistributionStore.sum('curJAN',true);

对于某些“curJAN”值,我得到空值,所以我得到 Nan 错误

4

3 回答 3

0

另一种选择是在您的模型中添加一个新的“已转换”(我更愿意称其为“计算”)字段:

fields: [
  { name: 'curJan', type: 'int' },
  {  
     name: 'curJanNotNull', type: 'int',
     convert: function(val, row) {
       return row.curJan !== null ? row.curJan : 0;
     }  
  }
]

...

var janSum = clientDistributionStore.sum('curJanNotNull', true);
于 2014-05-09T10:04:10.890 回答
0

我通过 record.set 功能将值 0 设置为 null

于 2013-05-17T12:41:51.960 回答
0

我有类似的问题。我是这样解决的。

clientDistributionStore.group(Ext.create('Ext.util.Grouper', {
    property: groupField,
    getGroupString: function (instance) {
        return instance.get(this.property) || 0;
    }
}));

curJANObj= clientDistributionStore.sum('curJAN',true); // return ex. {0: 100, 'John Smith': 1000}

getGroupString函数可以以其他方式实现,因为现在它也将空字符串视为 0。您可以根据自己的需要对其进行修改,但不能返回 null 值。

它适用于 ExtJS 4.2.1

于 2015-06-26T15:01:49.910 回答