【问题标题】:Kendo UI Grid, server filtering and sortingKendo UI Grid,服务器过滤和排序
【发布时间】:2017-09-28 12:42:29
【问题描述】:
我有一个带有kendo UI Grid 的应用程序与Angular 一起使用。我启用了serverfiltering 和serversorting。
我的后端有,WebAPI,带有entity framework 的自定义业务逻辑。我使用ViewModels/DTOs 将数据绑定到我的剑道网格,但是当剑道网格被排序或过滤时,我需要通过映射字段来过滤 EF。
我尝试在网上搜索以查看类似的概念,但其中大多数使用oData,这不符合我的要求。我尝试编写自己的代码来扩展 LINQ 以对字段进行排序或过滤,但我遇到了与子/父实体有关的问题以及其他一些问题。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
通过使用 Telerik UI for mvc,您可以使用 WebApiDataSourceRequestModelBinder。看一个例子:link
标签:
angularjs
entity-framework
asp.net-web-api
kendo-ui
kendo-grid
【解决方案1】:
我在使用 SimplePaginate 时遇到了类似的问题。希望这可以帮助你。
SimplePaginate Github
var filters = new Filters<Employee>();
filters.Add(!string.IsNullOrEmpty(searchText), x => x.LoginID.Contains(searchText));
filters.Add(!string.IsNullOrEmpty(jobTitle), x => x.JobTitle.Equals(jobTitle));
var sorts = new Sorts<Employee>();
sorts.Add(sortBy == 1, x => x.BusinessEntityID);
sorts.Add(sortBy == 2, x => x.LoginID, true);
sorts.Add(sortBy == 3, x => x.JobTitle);
context.Employees.Paginate(currentPage, pageSize, sorts, filters);
NuGet Link