繁体   English   中英

从kendo-ui图表系列中调用API数据

[英]Calling API data from kendo-ui chart series

如果您不使用数据源,而是使用来自API的返回数据动态创建系列集,是否可以使用远程数据刷新图表? 我想做的是再次调用API并重建图表。

使用Aurelia时,剑道和Aurelia之间有一个第三方桥梁,称为aurelia-kendo-bridge 使用它们时,它们具有一个recreate()函数,可以运行该函数以重新加载图表。 我只需要定位我所有的图表,就可以了。 非常感谢@Jeroen Vinke的所有帮助。

使用此方法,您可以从控制器调用api,如果要实时更新,请尝试在特定时间刷新图表。

 $("#chartere").kendoChart({
              dataSource: {
                  transport: {
                      read: {
                          url: '@Html.Raw(@Url.Action("method", "controller"))',
                          dataType: "json"
                      }
                  },
                  group: {
                      field: "title",
                      Color: "Color"
                  }
              },

              seriesDefaults: {
                  type: "bar",
                  stack: {
                      type: "100%"
                  }
              },
              series: [{
                  field: "value",
                  colorField: 'Color',
                  groupColor: function (item) {
                      var series = item.series;
                      series.color = series.data[item.index].Color;
                  }
              }],

              categoryAxis: {
                  field: "Category",
                  majorGridLines: {
                      visible: false
                  }
              },

              valueAxis: {
                  line: {
                      visible: true
                  },
                  minorGridLines: {
                      visible: true
                  }
              },
          });

并用它刷新图表

chart.dataSource.read();
chart.refresh();

请检查此网址http://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart#refresh

每个kendo小部件都有一个setOptions函数,该函数可让您以初始化它们的相同方式更改小部件的选项。 您将可以使用该功能替换系列。

$("#chart").kendoChart({
    series: [{
        data: [1, 2, 3]
    }]
});

var chart = $("#chart").data("kendoChart");
chart.setOptions({
    series: [{
        data: [4, 5, 6]
    }]
});
chart.refresh();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM