我有一个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商店是否真的不支持这种类型的工作流程。
答案 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();