从JsonRest商店更新Dojo图表

时间:2012-08-16 22:07:52

标签: dojox.charting

我有一个dojo图表,它使用JsonRest存储(/ dojo / store / JsonRest是特定的)来填充系列。存储设置为具有定期更新自身的间隔。虽然它确实撤回了正确的数据,但图表未正确更新。我的初步印象是,只需更新商店就应该更新图表。当没有发生这种情况时,我试图像这样手动更新系列,但它只导致所有图形点被设置为y值为零:

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 个答案:

答案 0 :(得分: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();