I have a grid with filterable mode: "menu,row". If I filter the dates by equal; not equal; >; <= it doesn't work. All my date are set to dd.mm.yyyy but when I look to my console.log filter value is not set correctly (see code bellow). How can Have the correct format, without time?
filter: function(e) {
if (e.filter == null) {
console.log("filter has been cleared");
} else {
console.log(e.filter.logic);
console.log(e.filter.filters[0].field);
console.log(e.filter.filters[0].operator);
console.log(e.filter.filters[0].value);
}
},
Answer:
and
dateReleve
eq
Wed May 08 2019 00:00:00 GMT+0200 (heure d’été d’Europe centrale)
My code to create column
function createColumn(columnNames,lang){
return columnNames.map(function(value){
var hasTemplate = value.template !== null;
var isHidden = value.hidden == 1;
var typeDate = value.type == "date";
var isLink = value.type == "link";
var hasAttributeClass = value.class_css !== null;
return {
field: value.field,
title: value.title,
format: typeDate ? "{0:dd.MM.yyyy}" : "",
filterable: typeDate ? {
cell: {
operator: 'contains',
showOperators: false,
template: function(args) {
args.element.kendoDatePicker({
culture: lang,
format: "dd.MM.yyyy",
parseFormat: "dd.MM.yyyy"
});
}
},
ui:function(element){
element.kendoDatePicker({
culture: lang,
format:'dd.MM.yyyy',
parseFormat: "dd.MM.yyyy"
})
}
} : {
cell: { operator: 'contains', showOperators: false}
}
});
}
M< code to create model
function createModel(columnNames){
var model = {};
var fields = {};
$.each(columnNames, function(index,value){
var propType = value.type;
if (propType === "number" ) {
fields[value.field] = {
type: "number"
};
} else if (propType === "boolean") {
fields[value.field] = {
type: "boolean"
};
} else if (propType === "date") {
//fields[value.field] = kendo.parseDate(value.field, "dd.MM.yyyy");
fields[value.field] = {
type: "date",
format: "{0:dd.MM.yyyy}"
};
} else {
fields[value.field] = {
type: "string"
};
}
});
model.fields = fields;
return model;
}
This code, give me that :
filter: function(e) {
if (e.filter == null) {
console.log("filter has been cleared");
} else {
console.log(e.filter.logic);
console.log(e.filter.filters[0].field);
console.log(e.filter.filters[0].operator);
console.log(e.filter.filters[0].value);
}
},
and
dateReleve
eq
Wed May 08 2019 00:00:00 GMT+0200 (heure d’été d’Europe centrale)
How can Have the correct format, without time?
Thank you for your help