【问题标题】:Refresh Kendo Chart when DataSource is Updated using a promise使用 promise 更新 DataSource 时刷新 Kendo Chart
【发布时间】:2015-12-28 15:20:47
【问题描述】:

我在 Angular 应用程序中显示一系列图表。我需要更新每个图表的数据源并重新绘制它。我的数据源是使用返回承诺的 Angular 服务更新的。我可以更新数据,但完成后似乎无法重新绘制图表。你能提供一些帮助吗?以下是我的图表的数据源信息。

chartDataEl.dataSource = new kendo.data.DataSource({
    transport: {
        type: 'json',
        read: function(options) {
            var request = vm.shipmentManagementRequest;
            request.RequestType = myChart.chartData.htmlID;
            shipmentService.getBasicChartData(request)
                .then(function(result) {
                    options.success(result.data);
                }).catch(function(error) {
                    options.error(error);
                });
        }
    },
    sort: {
        field: "date",
        dir: "asc"
    },
    schema: {
        model: {
            fields: {
                date: {
                    type: "date"
                }
            }
        }
    }
});

【问题讨论】:

  • 我已经尝试过了,我遇到的问题是在读取之后但在返回承诺之前调用了刷新。我需要在返回 promise 后刷新,因为那是我的数据实际更新的时间。

标签: javascript angularjs kendo-datasource kendo-chart


【解决方案1】:

我能够使用选项数据将图表传递给读取函数,然后在 promise 返回后调用刷新。

chartDataEl.dataSource = new kendo.data.DataSource({
    transport: {
        type: 'json',
        read: function(options) {
            shipmentService.getBasicChartData()
                .then(function(result) {
                    options.success(result.data);
                    var chart = options.data.chart;
                    chart.refresh();
                }).catch(function(error) {
                    options.error(error);
                });
        }
    },
    sort: {
        field: "date",
        dir: "asc"
    },
    schema: {
        model: {
            fields: {
                date: {
                    type: "date"
                }
            }
        }
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    相关资源
    最近更新 更多