我需要对存储的字段值的值和总和进行分组。对值求和时,我得到的是 NaN。我从 json 响应中得到空值。谁能告诉我如何在 extjs 中用 0 替换 null ?在对字段值求和时,还有其他方法可以避免 Nan 吗?
clientDistributionStore.group(groupField);
curJANObj= clientDistributionStore.sum('curJAN',true);
对于某些“curJAN”值,我得到空值,所以我得到 Nan 错误
我需要对存储的字段值的值和总和进行分组。对值求和时,我得到的是 NaN。我从 json 响应中得到空值。谁能告诉我如何在 extjs 中用 0 替换 null ?在对字段值求和时,还有其他方法可以避免 Nan 吗?
clientDistributionStore.group(groupField);
curJANObj= clientDistributionStore.sum('curJAN',true);
对于某些“curJAN”值,我得到空值,所以我得到 Nan 错误
另一种选择是在您的模型中添加一个新的“已转换”(我更愿意称其为“计算”)字段:
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);
我通过 record.set 功能将值 0 设置为 null
我有类似的问题。我是这样解决的。
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