newcol.template = { create: function () { var elem =
document.createElement('input'); elem.setAttribute('type',
'text'); return elem; }, destroy: function (args) { var element =
document.getElementById(args.elementId); for (var i = 0; i <
element.ej2_instances.length; i++) { if
(element.ej2_instances[i].dropdownverification != null) { element.ej2_instances[i].destroy(); } } }, write: function (args) { //var ds = ['Cash',
'Debit Card', 'Credit Card', 'Net Banking', 'Wallet']; var dateOptions = [ { text: 'Custom',
value: 'Custom' }, { text: 'Last 24
hours', value: 'DATEADD(hh, -24, GETDATE())' }, { text: 'Last week', value: 'DATEADD(d, -7,
GETDATE())' }, { text: 'Last
month', value: 'DATEADD(m, -1, GETDATE())' }, { text: 'Last six
months', value: 'DATEADD(m, -6, GETDATE())' }, { text: 'Last twelve months',
value: 'DATEADD(m, -12, GETDATE())' } ] var newdropDownObj =
new ej.dropdowns.DropDownList({ dataSource:
dateOptions, text: args.values ? args.values :
dateOptions[1].text, fields: { value:
'value', text: 'text' }, valueTemplate:
'<div id="inputfield-' + args.elements.id +
'">${text}</div>', change: function (e) { if
(e.itemData.value == 'Custom') {
console.log('boops'); }
qryBldrObj.notifyChange(e.itemData.value, e.element); } });
newdropDownObj.dropdownverification = 'true'; newdropDownObj.appendTo('#'
+ args.elements.id); } }; |
|
var filter = [
{ field: "Name", label: "Name", type: "string" },
{ field: "Range", label: "Range", type: "date", ruleTemplate: "#rangeTemplate" }
];
var qryBldrObj = new ej.querybuilder.QueryBuilder({
columns: filter,
width: "100%",
actionBegin: actionBegin
});
function actionBegin(args) {
ruleID = args.ruleID;
args.rule.operator = 'between';
if (args.requestType === "template-create") {
fieldObj = new ej.dropdowns.DropDownList({
dataSource: this.columns,
fields: args.fields,
value: args.rule.field,
change: function (e) {
qryBldrObj.notifyChange(e.value, e.element, "field");
}
});
valueObj = new ej.calendars.DateRangePicker({
presets: [
{
label: "This Week",
start: new Date(
new Date(
new Date().setDate(
new Date().getDate() - ((new Date().getDay() + 7) % 7)
)
).toDateString()
),
end: new Date(
new Date(
new Date().setDate(
new Date(
new Date().setDate(
new Date().getDate() - ((new Date().getDay() + 7) % 7)
) + 6
).getDate() + 6
)
).toDateString()
)
},
{
label: "Last Week",
start: new Date(
new Date(new Date().setDate(new Date().getDate() - 6)).toDateString()
),
end: new Date(new Date().toDateString())
},
{
label: "This Month",
start: new Date(new Date(new Date().setDate(1)).toDateString()),
end: new Date(new Date().toDateString())
},
{
label: "Last Month",
start: new Date(
new Date(
new Date(new Date().setMonth(new Date().getMonth() - 1)).setDate(1)
).toDateString()
),
end: new Date(new Date().toDateString())
}
],
format: "dd'/'MMMM'/'yyyy",
change: function (e) {
qryBldrObj.notifyChange(e.value, e.element, "value");
}
});
fieldObj.appendTo("#" + args.ruleID + "_filterkey");
valueObj.appendTo("#" + args.ruleID + "_valuekey0");
}
}
|
|
valueObj = new ej.calendars.DateRangePicker({
change: function(e) {
switch (e.daySpan) {
case 2:
e.value = ["DATEADD(hh, -24, GETDATE())", "GETDATE()"];
break; /* optional */
case 7:
e.value = ["DATEADD(d, -7, GETDATE())", "GETDATE()"];
break; /* optional */
case 28:
e.value = ["DATEADD(m, -1, GETDATE())", "GETDATE()"];
break; /* optional */
case 180:
e.value = ["DATEADD(m, -6, GETDATE())", "GETDATE()"];
break; /* optional */
case 363:
e.value = ["DATEADD(m, -12, GETDATE())", "GETDATE()"];
break; /* optional */
default:
/* Optional */
e.value = "Custom";
}
qryBldrObj.notifyChange(e.value, e.element, "value");
}
});
fieldObj.appendTo("#" + args.ruleID + "_filterkey");
valueObj.appendTo("#" + args.ruleID + "_valuekey0");
}
|
Hi David,
We have checked your reported query. We can add custom date in DateRangePicker using change event. We have prepared a sample based on your scenario as demonstrated in the below code snippet.
valueObj = new ej.calendars.DateRangePicker({change: function(e) {switch (e.daySpan) {case 2:e.value = ["DATEADD(hh, -24, GETDATE())", "GETDATE()"];break; /* optional */case 7:e.value = ["DATEADD(d, -7, GETDATE())", "GETDATE()"];break; /* optional */case 28:e.value = ["DATEADD(m, -1, GETDATE())", "GETDATE()"];break; /* optional */case 180:e.value = ["DATEADD(m, -6, GETDATE())", "GETDATE()"];break; /* optional */case 363:e.value = ["DATEADD(m, -12, GETDATE())", "GETDATE()"];break; /* optional */default:/* Optional */e.value = "Custom";}qryBldrObj.notifyChange(e.value, e.element, "value");}});fieldObj.appendTo("#" + args.ruleID + "_filterkey");valueObj.appendTo("#" + args.ruleID + "_valuekey0");}Please check the below sample.
Please get back to us, if you need further assistance.
Regards,Gayathri K
| DeliveryDate BETWEEN 'DATEADD(m, -12, GETDATE())' AND 'GETDATE()'" |