Ext JS 在摘要中排除空值 Ext.grid.feature.Summary 在网格中
Posted
技术标签:
【中文标题】Ext JS 在摘要中排除空值 Ext.grid.feature.Summary 在网格中【英文标题】:Ext JS exclude null values in summary Ext.grid.feature.Summary in grid 【发布时间】:2017-06-07 14:33:57 【问题描述】:我的数据存储中有一些空值。我正在使用 ftype summary 来显示摘要行,当它计算 summary(min/max) 时,它会将 null 视为 min/max 。有没有办法排除空值并计算摘要。我创建了如下网格
var grid = Ext.create('Ext.grid.Panel',
width: width,
height: height,
//frame: true,
cls: 'gridPadding, x-panel gridPadding x-grid-with-row-lines x-panel-default-framed x-grid',
id: 'dashboardSearchGrid_' + DivId,
renderTo: DivId,
buffered: true,
store: store,
plugins: [
Ext.create('Ext.ux.grid.plugin.GroupingPanel')
],
features: [
ftype: 'summary',
dock: 'bottom'
]
);
【问题讨论】:
展示一些演示小提琴 【参考方案1】:我遇到了同样的问题,我没有找到配置它的解决方案。
应该可以的:
您可以在列定义中使用渲染器
renderer: function (value, meta, record)
if (value === null || value === "")
value = 0;
return value;
或者您可以在模型定义中使用转换或计算来操作数据。
http://docs.sencha.com/extjs/6.0.1/classic/Ext.data.field.Field.html#cfg-convert
【讨论】:
【参考方案2】:我通过修改 ext-all.js 源代码中的 getMin 函数来实现它,如下所示
getMin: function(records, field)
var i = 1,
len = records.length,
value, min;
if (len > 0)
min = records[0].get(field);
for (; i < len; ++i)
value = records[i].get(field);
if(value == null)
continue;
if (value < min || min == null)
min = value;
return min;
【讨论】:
以上是关于Ext JS 在摘要中排除空值 Ext.grid.feature.Summary 在网格中的主要内容,如果未能解决你的问题,请参考以下文章
Ext Js 6.2.1 classic grid 滚动条bug解决方案