2012-03-29 65 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