actionBegin: function(args){
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 });
}
},
actionComplete: function(args) {
if (args.requestType === "filtering" & args.action === 'filter' ) {
var text = '';
var operator = '';
for (var i =0; i< args.columns.length; i++) {
if(i >0 ){
text = text + '& ';
}
if (args.columns[i].operator === 'lessthan') { operator = "<"}; if (args.columns[i].operator === 'greaterthan') { operator = ">"}
value = args.columns[i].value;
if(args.columns[i].field == 'OrderDate'){
value = ej.base.Internationalization.prototype.formatDate(args.columns[i].value, { format: 'M/d/y'});
}
text = text + ' ' + args.columns[i].field + ":" + operator + value; // text generated based on field, operator and value
}
grid.pagerModule.updateExternalMessage(text) ; // Modified text updated in bottom
globalText = text;
}
if (args.requestType === "filtering" & args.action === 'clearFilter' ) {
// Text will be modified after clear filtering for particular column.
var filterText = '';
var arr = globalText.split('&');
for (var i = 0; i < arr.length; i++){
if(!arr[i].includes(args.currentFilterColumn.field)) {
filterText = filterText + arr[i];
}
}
grid.pagerModule.updateExternalMessage(filterText);
}
},
create: function(args) {
var elem = document.createElement("input");
return elem;
},
write: function(args) {
var gridObj = document.getElementsByClassName("e-grid")[0]
.ej2_instances[0];
var datapicker = new ej.calendars.DateRangePicker({
change: function(e) {
var target = e.element;
var grid = document.getElementById("Grid").ej2_instances[0];
if (e.value) {
startDate = e.value[0];
endDate = e.value[1];
customFilter = true;
grid.filterByColumn("OrderDate", "greaterthan", startDate);
} else {
grid.filterSettings.columns = [];
grid.removeFilteredColsByField(target.id);
}
}
});
datapicker.appendTo(args.element);
}
},
|
var datapicker = new ej.calendars.DateRangePicker({
change: function(e) {
var target = e.element;
var grid = document.getElementById("Grid").ej2_instances[0];
if (e.value) {
startDate = e.value[0];
endDate = e.value[1];
customFilter = true;
var filterArray = [];
for ( var i = 0; i < grid.filterModule.filterSettings.columns.length; i++) {
if ( grid.filterModule.filterSettings.columns[i].field != "OrderDate") {
filterArray.push(grid.filterModule.filterSettings.columns[i]);
}
}
grid.filterModule.filterSettings.columns = filterArray;
grid.filterByColumn("OrderDate", "greaterthan", startDate);
}
if (e.value === null) {
var filterArray = [];
for ( var i = 0; i < grid.filterModule.filterSettings.columns.length; i++) {
if ( grid.filterModule.filterSettings.columns[i].field != "OrderDate") {
filterArray.push(grid.filterModule.filterSettings.columns[i]);
}
}
grid.filterModule.filterSettings.columns = filterArray;
}
}
});
datapicker.appendTo(args.element);
|
actionBegin: function (args) {
if(args.requestType === "filtering" && args.currentFilteringColumn === "OrderDate"){
for(var i= 0; i< args.columns.length ; i++) {
if (args.columns[i].field === 'OrderDate' && args.columns[i].value === null){
args.columns[i].value = document.getElementsByClassName('e-daterangepicker')[0].ej2_instances[0].value[0];
args.columns[i].operator = 'greaterthan';
}
}
}
} |