ext JS在摘要ext.grid.feature.summary中排除null值



我的数据存储器中有一些空值。我正在使用ftype摘要来显示摘要行,当它计算摘要(min/max(时,它将null视为最小/最大。有什么方法可以排除零值并计算摘要。我创建的网格如下

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'
    }]
});

我遇到了同样的问题,我找不到解决方案。

应该有效:

您可以在列中使用渲染器

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.field.html#cfg-convert

我通过在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;

}

最新更新