2013-04-28 47 views
1

我有一個模型(在網格中使用),其中有一堆從其他字段計算的字段。刷新轉換的模型值

目前我發現調用字段上的轉換函數是最好的方法(我可能是錯的)。問題是,在我的網格中有很多這樣計算的列。如果影響這些字段的值發生更改,那麼這些字段將不會被重新計算。

據寫入下面解決這個問題的方法是,覆蓋集方法: http://flexblog.faratasystems.com/2012/02/07/computed-fields-in-extjs-models-via-convert-functions

這樣做的問題是,有大量的這些受影響的域(約40)的,並且代碼止跌」通過在每個受影響的列上調用該集合來看起來很好。有沒有辦法刷新模型,以便重新計算一切,或者以其他方式解決這個問題?

+0

我會避免使用轉換()函數這樣。您可以將自己的方法添加到模型中,然後使用這些方法。 – 2013-04-29 17:59:05

回答

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'}