-1

我的服务器端过滤和数据排序存在阻塞问题。我的 Kendo Grid 向我的 C# 后端发送请求。这就是发生的事情:

我获取所有 Employee 对象(我使用数据访问)一个员工有一个 Person 对象,其中包含 FirstName、LastName 等个人信息。它还有一个 GroupName 所以我的方案是:

schema: {
    model: {
        id: "ID",
        fields: {
            FirstName: { type: "string", from: "Person.FirstName" },
            LastName: { type: "string", from: "Person.LastName" },
            GroupName: { type: "string" },
        }
    }
},

当我对名字或姓氏使用过滤器或排序时,它会尝试在属性“Person.FirstName”上过滤员工。但是这个人是我的 DataAccess 对象的一个​​补充,所以它不在数据库中。

当我对 GroupName 使用过滤器或排序时,它也会尝试仅过滤 groupname。但是groupname是后台填写的,来自EmployeeGroup.Name

所以我无法在任何这些行上过滤服务器端。我真的很想知道是否有可能过滤自定义属性或子属性。

提前致谢!

4

1 回答 1

0

这个 nuget 包可以帮助你:https ://www.nuget.org/packages/KendoGridBinderEx

但是您需要做的是创建一个 ViewModel 对象,其中包含您想要的所有属性,所以

class EmployeeVMO
{
  public string FirstName {get;set;}
  public string LastName {get;set;}
  public string GroupName {get;set;}
}

您需要 AutoMapper 将此 ViewModel 对象映射到您的真实数据库对象。正确应用这些映射后,可以使用 KendoGridBinderEx,它会自动将 Model 映射到 ViewModel(并返回)

对于一些代码示例,请检查此源文件

看这个活生生的例子

于 2014-08-21T18:38:41.607 回答