从列值的总和中获取百分比

时间:2017-04-24 19:49:20

标签: extjs grid extjs5

在下面的示例中,我有一个带有widget列的网格,其中包含另一列总值的总和的百分比:

FIDDLE:https://fiddle.sencha.com/#view/editor&fiddle/1uh5

但是,我无法打印widget列。

我需要在precent列中获得完全相同的precentage值。

如果没有dataindex配置和客户端,如何做到这一点?

1 个答案:

答案 0 :(得分:1)

你能解释为什么你不想使用dataIndex配置吗?

我找到了解决方法,但这是一个难看的解决方案。我不建议在生产环境中使用它。这是小提琴:https://fiddle.sencha.com/#view/editor&fiddle/1uhg

简而言之,您需要计算所有值的总和并将其保留在渲染器之外。在每个渲染上,您可以计算百分比并根据需要对其进行格式化。

renderer: function (value, metaData, record, rowIndex, colIndex, store) {
        var me = this;

        if (me.sum === 0) {
            store.getRange().forEach(function(rec) {
                me.sum += rec.get('value');
            } );
        }

        return Ext.util.Format.round(100*record.get('value')/me.sum, 0);
    }