2015-12-11 75 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