Kendo UI Datasource - 过滤相关数据

时间:2014-06-30 12:10:45

标签: asp.net asp.net-web-api kendo-ui telerik kendo-asp.net-mvc

我无法在相关数据(多对多)上过滤剑道数据源。我使用ASP.NET WebAPI2和DataSourceRequest来捕获服务器上的请求。然后使用IQueryable上的.ToDataSourceResult()扩展方法获取数据。

我知道这篇文章http://blogs.telerik.com/kendoui/posts/12-11-29/the_facts_on_using_kendo_ui_with_asp_net_webapi

我的数据结构如下: -

客户 - >客户地址 - >地址

客户地址是客户与客户之间的联接表。地址表。客户和客户地址上都有一个导航属性。

Kendo数据源如下: -

var customers = new kendo.data.DataSource({
transport: {
    read: {
        url: "api/customers", type: "GET"
    }
},
pageSize: 10,
page: 1,
serverPaging: true,
serverFiltering: true,
type: "webapi",
schema: {
    data: "Data",
    total: "Total",
    errors: "Errors",
    model: {
        id: "CustomerID"
    }
}
});

过滤器需要应用于Address表中的字段。即。 AddressLine1 =“{search param}”

我尝试过以下方法: -

var filters = {
logic: "or",
filters: [
  {field: "FirstName",operator: "contains",value: "xyz"},
  {field: "LastName",operator: "contains",value: "xyz"}, 
  {field: "CustomerAddress.Address.AddressLine1",operator: "contains",value: "xyz"}, 
]
};
customers.filter(filters);

其中前两个过滤器工作得非常好。我在queryable上做了一个.Include(),地址信息加载得很好。

如何使用kendo DataSourceRequest执行此操作?

0 个答案:

没有答案
相关问题