2012-03-29 32 views
3

我试图找到几个地方如何工作,但不能。DOJO点击饼图切片进行钻取

需求是通过点击饼的切片到下一层进行深入研究。我甚至可以得到onclick,但不知道如何从图表中获得价值。无处不在,它指向http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/,但没有任何现场演示给出。直到现在我已经设法得到onclick。

chart.addSeries("Monthly Sales - 2010", chartData); 
var h = chart.connectToPlot("default", function(o){ 
if(o.type == "onclick"){ 
alert("clicked!"); 
    } 
}); 

回答

2
var store = new dojo.store.Memory({data: [ 
    { id: '2', value: 10, usedForDrillDown:'x' }, 
    { id: '3', value: 5, usedForDrillDown: 'y' }, 
    { id: '4', value: 8, usedForDrillDown:'z' } 
]}); 
// adapter needed, because the chart uses the dojo.data API 
var storeAdapter = new dojo.data.ObjectStore({ 
    objectStore: store 
}); 

var ds = new dojox.charting.DataSeries(
     storeAdapter/*, { query: { needed if the store contains more than data points } }*/); 

var chart = new dojox.charting.Chart("chart"); 
chart.addPlot("default", { type: "Pie" }); 
chart.addSeries("default", ds); 

chart.connectToPlot("default", function(evt) { 
    if(evt.type == "onclick"){ 
     var itm = evt.run.source.items[evt.index]; 
     console.dir(itm); 
    }  
}); 

chart.render(); 
+0

对于从饼图切片钻到我需要的是切片ID。所以如果我的chartData假设{id1,value1},{id2,value2} .....那么我需要如果我点击value1我应该如何得到id1。 – 2012-03-29 15:55:06

+0

我使用数据存储来提供图表数据。 itm是来自商店的JavaScript对象,我需要钻取的任何属性都来自那里 – 2012-03-29 16:36:09

+0

请问你有没有例子? – 2012-03-30 10:10:25