{
field: "OrderDate",
headerText: "Order Date",
width: 130,
format: "yMd",
textAlign: "Right",
filter: {
ui: {
create: function(args) {
var flValInput = new ej.base.createElement("input", {
className: "flm-input"
});
args.target.appendChild(flValInput);
var grid = document.getElementById("Grid").ej2_instances[0];
var date = [];
grid.filterSettings.columns.forEach(col => {
if (col.field === "OrderDate") date.push(col.value);
});
var dateRangeInst = new ej.calendars.DateRangePicker({
startDate: date[0],
endDate: date[1],
change: function(e) {
if (e != undefined && e.value) {
var grid = document.getElementById("Grid").ej2_instances[0];
startDate = e.value[0];
endDate = e.value[1];
customFilter = true;
grid.filterByColumn("OrderDate", "greaterthan", startDate);
}
}
});
dateRangeInst.appendTo(flValInput);
},
write: function(args) {}
}
}
},
|
function onActionBegin(args) {
// Check for filter column and flag enabled in date range picker’s change event
if (args.requestType === "filtering" && args.currentFilteringColumn === "OrderDate" && customFilter) {
customFilter = false;
args.columns.push({
actualFilterValue: {},
actualOperator: {},
field: "OrderDate",
ignoreAccent: false,
isForeignKey: false,
matchCase: false,
operator: "lessthan",
predicate: "and",
uid: this.getColumnByField(args.currentFilteringColumn).uid,
value: endDate
});
}
}
|