asp.net - mvc - telerik demos
Origen de datos de la interfaz de usuario de Kendo: filtro en los datos relacionados (0)
Tengo problemas para filtrar una fuente de datos de kendo en datos relacionados (de muchos a muchos). Estoy usando ASP.NET WebAPI2 y DataSourceRequest para captar la solicitud en el servidor. Luego, los datos se obtienen utilizando el método de extensión .ToDataSourceResult () en un IQueryable.
Conozco este artículo http://blogs.telerik.com/kendoui/posts/12-11-29/the_facts_on_using_kendo_ui_with_asp_net_webapi
My Data está estructurado de la siguiente manera:
Cliente -> Dirección del cliente -> Dirección
Donde CustomerAddress es la tabla de unión entre las tablas Cliente y Dirección. Hay una propiedad de navegación en el Cliente y también en la Dirección del Cliente.
El origen de datos de Kendo es el siguiente:
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"
}
}
});
El filtro debe aplicarse en un campo en la tabla de direcciones. es decir. AddressLine1 = "{param de búsqueda}"
He probado lo siguiente:-
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);
De estos, los primeros 2 filtros funcionan absolutamente bien. He hecho un .Include () en el consultable y la información de dirección está bien cargada.
¿Cómo hago esto usando el Kendo DataSourceRequest?