I'm trying to enable case insensitive filtering (server side) for a kendo grid. Does anyone know a way to inject tolower (toupper, etc) into the filter to enable case insensitive filtering?
Background:
I dropped a kendo grid in to consume data from a controller (EntitySetController
, .NET 4.5) and all seems to work very well. Inline editing, server paging, adding new rows, etc.
To enable case insensitive filtering with knockout, I would just build the filter with the filter text and field wrapped in tolower (as recommended here). I haven't found a way to customize the filter using kendo elements.
Controller:
public class CategoriesController : EntitySetController<Category, int>
{
public override IQueryable<Category> Get()
{
return _repository.Find().OrderBy(c => c.Name);
}
}
Data source creation:
var serviceBaseUrl = "api/Categories",
dataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: serviceBaseUrl,
dataType: "json"
}
},
schema: {
// omitted for brevity
},
serverFiltering: true,
serverPaging: true,
pageSize: 10
});
Grid creation:
$("#grid").kendoGrid({
dataSource: dataSource,
pageable: true,
filterable: {
extra: false,
operators: {
string: {
contains: "Contains",
}
}
},
columns: [
// omitted for brevity
]
});