Hi Kendo,
I'm trying to make filtering for one 'term' case insensitive. The code below works if the 'tolower' is removed. What I'm trying to do is pass on through the odata to the database the idea that it needs to take the database column and apply a 'lower case' to it and then do the substring operation, making the filter case insensitive. Is there any way to get the 'tolower' on the field to work with filtering? Thanks for your help.
Bill
parameterMap: function (data, type) {
if (type == "read") {
var grid = $("#grid").data("kendoGrid");
var currentFilter = grid.dataSource.filter();
if (currentFilter) {
if (currentFilter.filters[1] === undefined & currentFilter.filters[0].field !== "Field1" & currentFilter.filters[0].field !== "Field2" & currentFilter.filters[0].field !== "Field3") {
data.filter.logic = "or";
var stringValue = "";
stringValue = currentFilter.filters[0].value.toString();
var new_filter = { field: tolower(currentFilter.filters[0].field), operator: currentFilter.filters [0].operator, value: stringValue.toLowerCase() };
data.filter.filters.push(new_filter);
new_filter = { field: currentFilter.filters[0].field, operator: currentFilter.filters[0].operator, value: stringValue.toUpperCase() };
data.filter.filters.push(new_filter);
}
}
var newMap = kendo.data.transports.odata.parameterMap(data);
delete newMap.$format; // not currently supported by webapi.
return newMap;
}
}
I'm trying to make filtering for one 'term' case insensitive. The code below works if the 'tolower' is removed. What I'm trying to do is pass on through the odata to the database the idea that it needs to take the database column and apply a 'lower case' to it and then do the substring operation, making the filter case insensitive. Is there any way to get the 'tolower' on the field to work with filtering? Thanks for your help.
Bill
parameterMap: function (data, type) {
if (type == "read") {
var grid = $("#grid").data("kendoGrid");
var currentFilter = grid.dataSource.filter();
if (currentFilter) {
if (currentFilter.filters[1] === undefined & currentFilter.filters[0].field !== "Field1" & currentFilter.filters[0].field !== "Field2" & currentFilter.filters[0].field !== "Field3") {
data.filter.logic = "or";
var stringValue = "";
stringValue = currentFilter.filters[0].value.toString();
var new_filter = { field: tolower(currentFilter.filters[0].field), operator: currentFilter.filters [0].operator, value: stringValue.toLowerCase() };
data.filter.filters.push(new_filter);
new_filter = { field: currentFilter.filters[0].field, operator: currentFilter.filters[0].operator, value: stringValue.toUpperCase() };
data.filter.filters.push(new_filter);
}
}
var newMap = kendo.data.transports.odata.parameterMap(data);
delete newMap.$format; // not currently supported by webapi.
return newMap;
}
}