如何为 Kendo 图表和 kendo 多个 select 使用相同的数据源?

how can I use same data source for Kendo chart and kendo multi select?

我正在使用 kendo angular 图表和 multiselect。现在我两次调用 same api 以在两者中加载数据。有没有办法在同一个 api 调用中定义多个模式?我的数据如下

{
  "List": [
    {
      "Name": "xyz",
      "Activation": "2016-12-08",      
      "End": "2016-12-09",
      "Run": "45",
      "Status": "FAILURE",
      "color": "red"
    },
    {
      "Name": "wqe",
      "Activation": "2016-12-07",        
      "End": "2016-12-08",
      "Run": "46",
      "Status": "FAILURE",  
      "color": "red"
    }
  ],
  "NameList": [
    {
      "Name": "joo"
    },
    {
      "Name": "foo"
    },
    {
      "Name": "too"
    }
  ]
}

我想在网格中添加 "List",并在一次 api 调用中将 "NameList" 添加到多个 select 中。

目前我正在使用以下代码调用 api

function getDataSource(requestUrl) {

    var dataSource = {
        transport: {
            read: requestUrl,
            dataType: "json"
        },
        schema: {
            data: "List",
            total: function (response) {
                return response.StatisticList.length;
            },
            model: {
                fields: {
                    Name: { type: "string" },
                    Activation: { type: "date" },
                    End: { type: "date" },
                    Run: { type: "number" },
                    Status: { type: "string" },                        
                    color: { type: "string" }
                }
            }
        },
        sort: { field: "ActivationTime", dir: "desc" },
        pageSize: common.Grid.pageSize
    };
    return dataSource;
}

function getMultiSelectDataSource(requestUrl) {

    var dataSource = {
        transport: {
            read: requestUrl,
            dataType: "json"
        },
        schema: {
            data: "NameList",
            model: {
                fields: {
                    Name1: { type: "string" }
                }

            }
        }
    };
    return dataSource;
}

如果您自己手动发出请求,并在 Chart 和 MultiSelect 的 DataSources 中使用 local (custom) transport or static dataSource.data 赋值,则可以在您的方案中通过一个请求实现两个小部件的数据绑定。