ASP.NET 核心 OData Web 服务,Angular 5 和 Kendo UI 中的网格组件 Angular

ASP.NET Core OData web service, Angular 5 and Grid Component in Kendo UI for Angular

我想知道是否有一种简单的方法可以将 Kendo Angular 网格绑定到 ASP.NET 核心 OData 控制器。简单是什么意思?

嗯,在Kendo UI for jQuery中,我们需要做的就是在DataSource对象中指定一个'type'和'transport'属性;参考:https://demos.telerik.com/kendo-ui/grid/odatav4

同样适用于 Kendo 的 ASP.NET MVC;参考:https://demos.telerik.com/aspnet-mvc/grid/odata

但是,我认为我已经阅读了整个文档,但我找不到以类似方式将 OData 服务与 Kendo Angular 网格绑定的方法。

本页包含一些关于网格数据绑定的信息:https://www.telerik.com/kendo-angular-ui/components/grid/data-binding/ ...但是,公开 ProductService class 的 'northwind.service.ts' 文件包含两种方法,看起来它们执行某种 'hardcoded' OData 过滤。

在"Integration with UI for ASP.NET Core"页面(https://www.telerik.com/kendo-angular-ui/components/dataquery/mvc-integration/) there is a link to this project: https://github.com/telerik/kendo-angular-demo-aspnetcore-data/tree/master,但是作为后端的ASP.NET核心控制器不是基于ODataController和returns JsonResult。也许有一个更改后端实现的方法,但是我不确定使用提供的客户端代码是否一切都能正常工作。

我还发现了这个 GitHub repo: https://github.com/urfnet/URF.Core.Sample ,它看起来很有前途,有一个专用的 'service' 似乎可以处理所有 http 操作 (GET,POST ,PUT..) 并且看起来非常 'reusable'.

我错过了什么或者没有简单的方法吗?我真的需要编写自己的服务来处理 Kendo Angular 网格和 ASP.NET 核心 Odata 通信吗?

(我正在使用 ASP.NET Core 2、Angular 5、针对 Angular 的最新 Kendo UI 和 OData 包,这在本文中有所描述文章:https://blogs.msdn.microsoft.com/odatateam/2018/07/03/asp-net-core-odata-now-available/ )

Kendo UI for Angular Grid 不知道其数据来自何处,并依赖于发出包含处理数据(或执行远程操作)所需信息的事件HTTP 请求):

DOCS

将传入的网格状态转换为 OData4 兼容字符串的 examples that communicate with a sample OData backend also utilize the Data Query toODataString helper function

您可以创建将接收网格状态并处理远程 HTTP 请求和响应(最终将由网格使用)的数据服务,或者创建将抽象出所有数据的自定义自动绑定指令- 相关操作,例如:

EXAMPLE with step-by-step instructions