1

我有一个模型(在网格中使用),它有一堆从其他字段计算的字段。

目前我发现在现场调用转换函数是最好的方法(我可能是错的)。问题是,在我的网格中有很多以这种方式计算的列。如果影响这些字段的值发生更改,则不会重新计算这些字段。

根据下面的文字,解决此问题的方法是覆盖 set 方法: http: //flexblog.faratasystems.com/2012/02/07/computed-fields-in-extjs-models-via-convert-functions

这样做的问题是有很多字段(大约 40 个)受到影响,并且通过在每个受影响的列上调用集合,代码看起来不太好。有没有办法刷新模型以便重新计算所有内容,或者有任何其他方法来解决这个问题?

4

1 回答 1

0

您可以制作自己的字段类型。这可以通过以下方式完成:

// define date type that converts to an array
Ext.data.Types.ARRAY = {
    convert: function (value, record) {
        if (!Ext.isArray(value)) {
            return [];
        }
        else {
            return value;
        }
    },
    type: 'array'
};

您的领域可以使用{name: 'fieldName', type: 'array'}

于 2013-04-29T06:42:16.733 回答