Hi,
I am having problem with server filtering in my mvc api controller. The DataSourceRequest Filter is null when I look at the request variable but if I enable server paging I can see the pagesize is being set. The model returns ok but with no filtering.
I have checked in Fiddler the request header and the filter is there, see below.
GET /api/Event?callback=jQuery19100650028504896909_1419384451525&filter%5Blogic%5D=and&filter%5Bfilters%5D%5B0%5D%5Bfield%5D=StateID&filter%5Bfilters%5D%5B0%5D%5Boperator%5D=eq&filter%5Bfilters%5D%5B0%5D%5Bvalue%5D=7&_=1419384451528 HTTP/1.1
MVC API Controller Code
public DataSourceResult GetEvents([ModelBinder(typeof(WebApiDataSourceRequestModelBinder))]DataSourceRequest request)
{
return db.carEvent.ToDataSourceResult(request);
}
Cordova App Code
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://localhost:57459/api/Event",
dataType: "jsonp"
}
},
schema: {
data: "Data",
model: {
ID: "id",
fields: {
ID: { type: "number" },
Event: { type: "string" },
Location: { type: "string" },
Information: { type: "string" },
StateID: { type: "number" },
EventDate: { type: "date" }
}
}
},
serverFiltering: true,
filter: { field: "StateID", operator: "eq", value: StateValue }
});
Thanks Andrew
I am having problem with server filtering in my mvc api controller. The DataSourceRequest Filter is null when I look at the request variable but if I enable server paging I can see the pagesize is being set. The model returns ok but with no filtering.
I have checked in Fiddler the request header and the filter is there, see below.
GET /api/Event?callback=jQuery19100650028504896909_1419384451525&filter%5Blogic%5D=and&filter%5Bfilters%5D%5B0%5D%5Bfield%5D=StateID&filter%5Bfilters%5D%5B0%5D%5Boperator%5D=eq&filter%5Bfilters%5D%5B0%5D%5Bvalue%5D=7&_=1419384451528 HTTP/1.1
MVC API Controller Code
public DataSourceResult GetEvents([ModelBinder(typeof(WebApiDataSourceRequestModelBinder))]DataSourceRequest request)
{
return db.carEvent.ToDataSourceResult(request);
}
Cordova App Code
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "http://localhost:57459/api/Event",
dataType: "jsonp"
}
},
schema: {
data: "Data",
model: {
ID: "id",
fields: {
ID: { type: "number" },
Event: { type: "string" },
Location: { type: "string" },
Information: { type: "string" },
StateID: { type: "number" },
EventDate: { type: "date" }
}
}
},
serverFiltering: true,
filter: { field: "StateID", operator: "eq", value: StateValue }
});
Thanks Andrew