单击时如何爆炸剑道饼图楔形?

Mar*_*arr 4 kendo-ui kendo-dataviz

我知道如何最初爆炸饼图楔形(简单地将相关数据项的爆炸设置为true),但我想要做的是在JavaScript(绑定到seriesClick事件的函数)中点击时楔形爆炸.当然,我希望重置任何其他爆炸楔形,这样一次只有一个爆炸楔形.

当然,我可以通过进行Ajax调用来获取图表,传递一个参数来指示被点击的楔形来实现这一点,但这非常低效,并且可能非常慢,这取决于数据的连接和复杂性(和/或需要的嘎吱嘎吱声).

我在其他地方找到了同一问题的一个答案,但建议的解决方案不适用于Kendo图表(设置了Kendo不支持的属性).

如果有人在这方面有任何经验,我将非常感谢您对我的任何建议.

Der*_*ley 7

我在Kendo论坛上发现这篇文章要求同样的事情,看起来响应中可能有一个解决方案:

http://www.kendoui.c​​om/forums/dataviz/chart/explode-slices-onseriesclick.aspx

它的要点是您需要更新数据中的"爆炸"字段,然后在单击后重新绘制图表.这可以通过"seriesClick"事件完成:


    seriesClick: function(e){
        $( e.sender.dataSource.options.data ).each( function ( i, item ) {
              if ( item.source != e.category )
              {
                  item.explode = false;
              }
              else
              {
                  item.explode = true;
              }
        } );
        createChart();        
    }
Run Code Online (Sandbox Code Playgroud)

我把基于此的JSFiddle放在一起:http://jsfiddle.net/derickbailey/FXs6b/

HTH