1

I have a JavaScript piece of code that I use to retrieve list item from SharePoint by selected options from drop-down list. Depending the selection it would assign a value to a CAMLQuery variable.

Option 1 (filters by Office):

CAMLQuery = "<Query><Where><Eq><FieldRef Name='Regional_x0020_Office' /><Value Type='Text'>" + regionalOffice + "</Value></Eq></Where></Query>"

Option 2 (filters by Year):

CAMLQuery = "<Query><Where><Eq><FieldRef Name='Fiscal_x0020_Year' /><Value Type='Text'>" + fiscalYear + "</Value></Eq></Where></Query>"

Option 3 (All items):

CAMLQuery = "<View><Query><OrderBy><FieldRef Name='Fiscal_x0020_Year' Ascending='TRUE' /></OrderBy></Query></View>"

Everything works perfectly, except Option 3, which is the one I would like to use to show all Items. What am I missing here? Thanks!

1
  • 1
    I suspect because you've wrapped the Query with a View node in option 3, it isn't present in the other 2 working examples. Commented Jul 23, 2014 at 15:33

3 Answers 3

3

Don't add View Tag, reform the query as follows:

CAMLQuery = "<Query><OrderBy><FieldRef Name='Fiscal_x0020_Year' Ascending='TRUE' /></OrderBy></Query>"
0
3

Try adding a null check:

CAMLQuery = "<Query><Where><IsNotNull><FieldRef Name='Fiscal_x0020_Year' /></IsNotNull></Where><OrderBy><FieldRef Name='Fiscal_x0020_Year' Ascending='True' /></OrderBy></Query>"
2
  • Thanks, but I forgot to mentioned that I've done that already and no luck.
    – cubanGuy
    Commented Jul 23, 2014 at 14:23
  • OK. I have edited my answer. Try adding a null check in there Commented Jul 23, 2014 at 14:27
2

Perhaps its the default RowLimit that is causing you to not retrieve all results? A RowLimit of 0 will return all results. For example:

"<View><Query><OrderBy><FieldRef Name=\"Fiscal_x0020_Year\" Ascending=\"TRUE\"></FieldRef></OrderBy></Query><RowLimit>0</RowLimit></View>"

Also, the following information from http://msdn.microsoft.com/en-us/library/office/ms428643(v=office.14).aspx is worth noting regarding RowLimit:

If Paged is not TRUE and the row limit is exceeded, the server renders a RowLimitExceeded element in the view if this element is specified. Otherwise, the default behavior is to give no indication to the user that the row limit has been exceeded.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.