是否可以从三个Web服务构建单个kendo网格(通过在组合所有三个Web服务后获取最终数据)?我使用的是asp.net网络表单而不是MVC。
答案 0 :(得分:0)
是的,这是可能的,但你不应该在客户端Kendo UI DataSource
中,而是在服务器中。原因是:
如果您仍然想要数据,请尝试为每个不同的DataSource定义一个DataSource,为其他三个DataSource的组合定义第四个。
当调用组合数据源的read
操作时,在三个单独的DataSource中的第一个上调用fetch
,在此fetch函数处理程序中,调用第二个fetch
,第三个获取,创建收到的三个数据的合并。
// First datasource
var ds1 = new kendo.data.DataSource({
...
});
// Second datasource
var ds2 = new kendo.data.DataSource({
...
});
// Third datasource
var ds3 = new kendo.data.DataSource({
...
});
// Composed
var ds = new kendo.data.DataSource({
transport: {
read: function (op) {
ds1.fetch(function () {
ds2.fetch(function () {
ds3.fetch(function () {
// Merge data from ds1, ds2 and ds3 in data
...
// Invoke success
op.success(data);
});
});
});
}
}
...
}