2012-08-16 51 views
0

我有一个dojo图表,它使用JsonRest存储(/ dojo/store/JsonRest是特定的)来填充系列。该商店设置了一个间隔来定期更新自己。虽然它确实拉回了正确的数据,但图表并未正确更新。我的初步印象是,更新商店应更新图表。当这并没有发生,我试图手动更新系列这样的,但只造成了所有的图点被设置为零的y值:从JsonRest商店更新Dojo图表

var jStore = new JsonRest({target: "/TestExecutionSummary/" }); 
jStore = Observable(jStore); 

// Creating chart 
... 
... 
chart.addSeries("y", new dojox.charting.StoreSeries(jStore, { query: {} }, "totalPassed")); 


var interval = setInterval(function() { 
    var updates = jStore.query({}); 
    updates.then(function(result) { 
    chart.updateSeries("y", result, true).render(); 
    }); 
}, 3* 1000);   

是否有某种方式,我可以得到图表用新商店更新自己,还是JsonRest商店不真的支持这种类型的工作流程。

回答

1

我觉得这是一个黑客,但以下工作对我来说。我创建了一个单独的实例,我可以通过调用它的fetch()方法手动更新,而不是创建StoreSeries实例。

// Creating chart 
... 
var mySeries = new StoreSeries(testExecutionSummaryStore, { query: {} }, "totalTests"); 
chart.addSeries("Total Test Count", mySeries, {plot:"total"}); 
... 

// Call this in the interval to update the chart 
mySeries.fetch();