ext js 4柱形图bug?当我隐藏它们时,系列仍然可见

时间:2012-04-02 09:15:02

标签: extjs charts hide

如果我使用了分组柱形图,感觉我对图表没有足够的控制权,我通过在图表中添加不同的系列来创建我自己的版本。在所有商店之后,系列的数量,它们的颜色等都需要动态设置而不是硬编码。基本上这就是我所拥有的:

chart = Ext.create("Ext.chart.Chart", {
     store: dataStore,
     axes: dynamicAxes,
     series: series
});

我遗漏了一些不太有趣的东西,比如图表的宽度,高度等。 现在我有一个返回一个系列对象的方法。这被添加到上面代码中提到的系列数组中。该函数有一个“item”对象参数,还有一个idx param,它是来自它所来自的数组的item对象的索引,以及一个max param,它是item数组的大小

该函数返回如下内容:

var w = (typeof (max) !== "undefined" && max !== null) ? this._getWidthByMax(max) : 30;
return {
         type: "column",
         axis = "left",
         xField = "timestamp",
         yField = item.id, // store field name equals the id of the item object
         style = { stroke: colorCode, "stroke-width": (item.isDefault) ? 2 : 1,   fill: colorCode },
         width = w, 
         renderer = function (sprite, rec, attr, bix) {
            var nx = idx * w;
            return Ext.apply(attr, { translation: { x: nx} });
         }
     }

现在这适用于我想要的列数。那可能是一,二,三......目前最多七个。 但是,如果我想隐藏一个系列,则以下调用不起作用:

chart.series.getAt(idx).hideAll();

虽然如果我将图表渲染为折线图,它确实有效。 这是Ext-js 4中的一个错误,还是因为我为柱形图渲染系列的原因?

1 个答案:

答案 0 :(得分:1)

既然没有人回复我的问题而且我在此期间找到了解决方案,我不妨回答我自己的问题......

Ext Js 4.0.7中出现问题。 使用版本4.1 RC 2,hideAll表现正常。

因此,对于任何遇到同样问题的人来说,解决方案是升级到4.1 RC 2或更高版本。