lookup filter per view
Hello guys,
I have a question : is it possible to get a filtering lookup not by items but by a view?
i have 3 Colums : Reporting Period - Start Date - End Date.
In my custom view, my Start Date is less than or equal at [Today] & End Date is equal or more than at [Today].
In my lookup, i want to show all concerned Reporting Period.
Is it possible?
Best regards,
I have a question : is it possible to get a filtering lookup not by items but by a view?
i have 3 Colums : Reporting Period - Start Date - End Date.
In my custom view, my Start Date is less than or equal at [Today] & End Date is equal or more than at [Today].
In my lookup, i want to show all concerned Reporting Period.
Is it possible?
Best regards,
Hi,
No, unfortunatelly it's not possbile. You'll have to replicate the conditions you use in the view in the request query. It's not hard. Here's the basic idea of what you'll need to do:
Notice the $filter variable. What we've done is added is a condition that tells the query executor to return items with Id value in between 2 (inclusive) and 5 (exclusive).
Check the following link for more information:
https://msdn.microsoft.com/en-us/librar ... 42385.aspx
No, unfortunatelly it's not possbile. You'll have to replicate the conditions you use in the view in the request query. It's not hard. Here's the basic idea of what you'll need to do:
Code: Select all
function (term, page) {
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Id ge 2) and (Id lt 5)&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=((Id ge 2) and (Id lt 5)) and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
}
Check the following link for more information:
https://msdn.microsoft.com/en-us/librar ... 42385.aspx
Hi,
Thanks
I try it but "Loading Error".
This is my code :
function (term, page) {
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Date_x0020_de_x0020_d_x00e9_but ge 'datetime') and (Date_x0020_de_x0020_fin le 'datetime')&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=((Date_x0020_de_x0020_d_x00e9_but ge 'datetime') and (Date_x0020_de_x0020_fin le 'datetime')) and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
}
Something wrong ?
Best regards,
Thanks
I try it but "Loading Error".
This is my code :
function (term, page) {
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Date_x0020_de_x0020_d_x00e9_but ge 'datetime') and (Date_x0020_de_x0020_fin le 'datetime')&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=((Date_x0020_de_x0020_d_x00e9_but ge 'datetime') and (Date_x0020_de_x0020_fin le 'datetime')) and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
}
Something wrong ?
Best regards,
If you want to use datetime to do your filtering, then the $filter variable would look something like this:
where today is a JavaScript Date object. You'd be able to create it anew like this:
or retrieve it from a Date/Datetime field like this:
More about date objects:
http://www.w3schools.com/jsref/jsref_obj_date.asp
Code: Select all
...$filter=(Date_x0020_de_x0020_d_x00e9_but ge datetime'" + today.toISOString() + "') and...
Code: Select all
var today = new Date();
Code: Select all
var today = fd.field('DateTimeField').control('getDate');
http://www.w3schools.com/jsref/jsref_obj_date.asp
Thanks,
This is my message error :
{"error":{"code":"-1, Microsoft.SharePoint.Client.InvalidClientQueryException","message":{"lang":"fr-FR","value":"L'expression \u00ab\u00a0(Date_x0020_de_x0020_d_x00e9_but ge datetime')function toISOString() { [native code]}(Date_x0020_de_x0020_fin le datetime')\u00a0\u00bb n'est pas valide."}}}
And this is my code actually :
function (term, page) {
var today = new Date();
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Date%5Fx0020%5Fde%5Fx0020%5Fd%5Fx00e9%5Fbut ge datetime')" + today.toISOString + "(Date%5Fx0020%5Fde%5Fx0020%5Ffin le datetime')&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=((Date%5Fx0020%5Fde%5Fx0020%5Fd%5Fx00e9%5Fbut ge datetime')" + today.toISOString + "(Date%5Fx0020%5Fde%5Fx0020%5Ffin le datetime')) and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
}
This is my message error :
{"error":{"code":"-1, Microsoft.SharePoint.Client.InvalidClientQueryException","message":{"lang":"fr-FR","value":"L'expression \u00ab\u00a0(Date_x0020_de_x0020_d_x00e9_but ge datetime')function toISOString() { [native code]}(Date_x0020_de_x0020_fin le datetime')\u00a0\u00bb n'est pas valide."}}}
And this is my code actually :
function (term, page) {
var today = new Date();
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Date%5Fx0020%5Fde%5Fx0020%5Fd%5Fx00e9%5Fbut ge datetime')" + today.toISOString + "(Date%5Fx0020%5Fde%5Fx0020%5Ffin le datetime')&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=((Date%5Fx0020%5Fde%5Fx0020%5Fd%5Fx00e9%5Fbut ge datetime')" + today.toISOString + "(Date%5Fx0020%5Fde%5Fx0020%5Ffin le datetime')) and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
}
Use the following code:
Code: Select all
..
if (!term || term.length == 0) {
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$filter=(Date_x0020_de_x0020_d_x00e9_but le datetime'" + today.toISOString() + "') and (Date_x0020_de_x0020_fin ge datetime'" + today.toISOString() + "')&$orderby=Created desc&$top=10";
}
return "{WebUrl}/_api/web/lists('{ListId}')/items?$select=Id,{LookupField}&$orderby={LookupField}&$filter=(Date_x0020_de_x0020_d_x00e9_but le datetime'" + today.toISOString() + "') and (Date_x0020_de_x0020_fin ge datetime'" + today.toISOString() + "') and startswith({LookupField}, '" + encodeURIComponent(term) + "')&$top=10";
..
-
- Information
-
Who is online
Users browsing this forum: No registered users and 8 guests