2015-12-11 76 views
0

我有一個網格和一個折線圖。他們都使用一家商店。我用網格列渲染器()函數看起來像這樣:ExtJS 5圖表系列渲染器

renderer: function(value){ 
    return value; 
} 

取決於一些條件下(增量,比率等)來改變數據。我也想在我的圖表中反映這些行爲。我想我應該設置一系列渲染()但它不具有作爲參數:

renderer: function (sprite, config, rendererData, index) { 
if (config.type === 'marker') { 
    return { strokeStyle: (index % 2 === 0 ? 'red' : 'black') }; 
} 
} 

是有可能實現的渲染,如在網格改變我的情節,不改變存儲實際數據

回答

0

如果我沒有弄錯,您正在搜索的value可以在rendererData參數中找到,該參數是包含屬性angleField的對象。我不知道是否改變它會影響圖表,但我會這樣猜測(就像網格渲染器中的metaData參數會影響網格的渲染一樣)。

BUT:

提煉僅改變某些數據的顯示。基本值保持不變,這可能會影響各種數據操作,如分組,排序等。

如果您確實想根據條件更改值,那麼最好使用擴展模型,添加calculate d列,它們不會持續存在,並相應地設置您的gridcolumn(同樣適用於該圖表)。

我不確定渲染器是否會影響餅圖中片的大小;但我相信如果您(例如)按切片大小對商店進行排序,那麼更改渲染器中的值將不會影響切片在圖表中排序的方式。

這就是說,這取決於你;我的評論僅僅是爲了完整性。

+0

我讀了'angleField'是極地圖的配置。但是,我以這種方式獲得了價值'rendererData.store.data.items [index] .data.value'。 Hovewer我仍然不知道如何返回這個值,以便在我的圖表中提交視覺變化。 @Alexander此外,我不能在模型中使用「轉換」(或計算)功能,因爲我需要在加載它之前訪問所需的所有數據。 (例如,將值與前一個對象的值或來自set的第一個對象的值進行比較) – antosiy