{"id":256,"date":"2014-04-21T22:26:31","date_gmt":"2014-04-22T05:26:31","guid":{"rendered":"http:\/\/www.fkylewright.com\/?p=256"},"modified":"2018-05-21T14:44:57","modified_gmt":"2018-05-21T21:44:57","slug":"sharepoint-item-loading-page-query-from-multiple-lists","status":"publish","type":"post","link":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/","title":{"rendered":"SharePoint List Item Loading Page &#8212; Query from Multiple Lists"},"content":{"rendered":"<p>This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices. If you have not yet explored how <a href=\"https:\/\/spservices.codeplex.com\/\" target=\"_blank\">SPServices <\/a><a href=\"https:\/\/spservices.codeplex.com\/\" target=\"_blank\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"264\" data-permalink=\"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/spservices_logo\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&amp;ssl=1\" data-orig-size=\"312,85\" data-comments-opened=\"1\" data-image-title=\"spservices_logo\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&amp;ssl=1\" class=\"alignright wp-image-264 size-medium\" src=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo-300x81.jpg?resize=300%2C81\" alt=\"spservices_logo\" width=\"300\" height=\"81\" \/><\/a>can expand your current SharePoint solutions, you should definitely check the project out on CodePlex!<\/p>\n<p>A client recently required a single landing page (a &#8220;loading&#8221; page, if you will) from which a list item will open based an a URL parameter, where the parameter matches a column value in the list item. The caveat though, is that the list item could exist across any of six individual (and very large) custom lists, which do not necessarily have the same structure. The lists are all closely related and represent the movement of work items through a tightly-controlled business process&#8230; so the item could change locations throughout the day.<\/p>\n<p>For the sake of clarity, let&#8217;s call the work items &#8220;documents&#8221; to represent the business use-case. Documents have a unique identifying number that generates when an initial\u00a0<em>request<\/em> arrives in one department. This DocID then represents the easiest way for an end-user to check on the status of the the request, the resulting document, or both, at any point in the business process.<\/p>\n<table style=\"width: 40%; text-align: center;\">\n<tbody>\n<tr>\n<th>List A<\/th>\n<th>List B<\/th>\n<\/tr>\n<tr>\n<td>Initial Requests<\/td>\n<td>Archived Requests<\/td>\n<\/tr>\n<tr>\n<td>DocID (Internal list item ID)<\/td>\n<td>DocID (Number column)<\/td>\n<\/tr>\n<tr>\n<td>Unique<\/td>\n<td>Unique<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table style=\"width: 75%; text-align: center;\">\n<tbody>\n<tr>\n<th>List C<\/th>\n<th>List D<\/th>\n<th>List E<\/th>\n<th>List F<\/th>\n<\/tr>\n<tr>\n<td>Submitted Documents<\/td>\n<td>In Review Documents<\/td>\n<td>Approved Documents<\/td>\n<td>Obsolete Documents<\/td>\n<\/tr>\n<tr>\n<td>DocID (Number column)<\/td>\n<td>DocID (Number column)<\/td>\n<td>DocID (Number column)<\/td>\n<td>DocID (Number column)<\/td>\n<\/tr>\n<tr>\n<td>Unique<\/td>\n<td>Unique<\/td>\n<td>Unique<\/td>\n<td>Duplicates Possible<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This &#8220;landing&#8221; page needs to query these lists in a particular order, taking into account the current user&#8217;s permissions (skipping over lists to which he\/she does not have read rights), and loading the document or request as soon as the query finds a match.<\/p>\n<p>So, how best to approach the issue of querying for the location of the document based on this DocID?<\/p>\n<p><strong>Out-of-the-box<\/strong>, SharePoint offers the standard list view web part that can be connected to URL filter parameters, but I needed to display the list item&#8217;s view form directly (cutting out that extra click). Theoretically, you could connect a view form web part to the URL parameter, but in this case it would be very sloppy to repeat this six times on the same page to cover all the lists.<\/p>\n<p><strong>Third-party<\/strong>, the challenge reduces to a trivial implementation using\u00a0<a href=\"https:\/\/spservices.codeplex.com\/\" target=\"_blank\">SPServices JQuery library for SharePoint 2010<\/a>; fortunately; this was\u00a0already in use elsewhere in the site collection.<\/p>\n<p>The .aspx loading page itself contains a call to the SPServices SPGetQueryString function,\u00a0to parse the URL parameter\u00a0named &#8220;<em>doc<\/em>&#8220;&#8230;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">var queryStringValues = $() .SPServices.SPGetQueryString();\r\nvar strDocId = queryStringValues&#x5B;&quot;DOC&quot;];\r\n\/\/double-check for lowercase parameter name:\r\nif(!strDocId) strDocId = queryStringValues&#x5B;&quot;doc&quot;]<\/pre>\n<p>&#8230;the SPServices getListItems calls and logic to query the six lists&#8230;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\tvar cQueryOptions = &quot;&lt;QueryOptions&gt;&lt;ExpandUserField&gt;FALSE&lt;\/ExpandUserField&gt;&lt;\/QueryOptions&gt;&quot; ;\r\n\tvar url;\r\n\tvar foundFlag = false;\r\n\r\n\tfunction queryListA() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST A&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListB() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST B&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListC() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST C&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListD() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST D&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListE() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST E&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListF() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST F&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\t$(document).ready(function() {\r\n\t\tif(strDocId) {\r\n\t\t\tif(strDocId=='0') {\r\n\t\t\t\talert(&quot;The document ID provided (\\&quot;0\\&quot;) is not valid. Please try again.&quot;\r\n\t\t\t\tfoundFlag = true;\r\n\t\t\t\twindow.location = URL TO HOMEPAGE;\r\n\t\t\t}\r\n\r\n\t\t\tif(!foundFlag) queryListE();\r\n\t\t\tif(!foundFlag) queryListD();\r\n\t\t\tif(!foundFlag) queryListC();\r\n\t\t\tif(!foundFlag) queryListF();\r\n\t\t\tif(!foundFlag) queryListA();\r\n\t\t\tif(!foundFlag) queryListB();\r\n\t\t} else {\r\n\t\t\talert(&quot;The link is invalid or you have accessed this page in an unsupported manner. Please check the link and try your request again.&quot;);\r\n\t\t\twindow.location = URL TO HOMEPAGE;\r\n\t\t}\r\n\t});\r\n<\/pre>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"262\" data-permalink=\"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/gears_an\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/GEARS_AN.gif?fit=68%2C68&amp;ssl=1\" data-orig-size=\"68,68\" data-comments-opened=\"1\" data-image-title=\"GEARS_AN\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/GEARS_AN.gif?fit=68%2C68&amp;ssl=1\" class=\"alignleft size-full wp-image-262\" src=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/GEARS_AN.gif?resize=68%2C68\" alt=\"GEARS_AN\" width=\"68\" height=\"68\" \/><\/p>\n<p>&#8230;and a simple &#8220;loading&#8221; message that displays to the user until the query completes (making clever use of the native SharePoint loading graphic gears_an.gif&#8230; which everyday users of SharePoint will readily recognize as a loading signal). I also styled the container divs using CSS3PIE so I could be sure this loading page has a professional finish regardless of the user&#8217;s browser version.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">&lt;div class=&quot;LoadingMsgMain&quot;&gt;\r\n&lt;div class=&quot;LoadingMsgTitle&quot;&gt; YOUR SITE TITLE HERE&lt;\/div&gt;\r\n&lt;div style=&quot;text-align:center; font-size:large; font-face:Calibri; padding:20px;&quot;&gt;Please wait the system prepares your document...\r\n&lt;br \/&gt;&lt;br \/&gt;\r\n&lt;img src='\/_layouts\/images\/gears_an.gif' style=&quot;border:none;&quot; \/&gt;&lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>The page then redirects to the display form of the matching list item, or displays an error message if no match found or an invalid URL parameter is provided.<\/p>\n<p>Full page source below.<\/p>\n<pre class=\"brush: plain; collapse: true; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n&lt;title&gt;YOUR PAGE TITLE HERE&lt;\/title&gt;\r\n\r\n&lt;!-- Include the SPServices and Jquery libraries from a local site library (or just reference them from a CDN of your choice) --&gt;\r\n&lt;script language=&quot;javascript&quot; type=&quot;text\/javascript&quot; src=&quot;\/mySiteCodeLibrary\/jquery-1.11.0.min.js&quot;&gt;&lt;\/script&gt;\r\n&lt;script language=&quot;javascript&quot; type=&quot;text\/javascript&quot; src=&quot;\/mySiteCodeLibrary\/jquery.SPServices-2014.01.min.js&quot;&gt;&lt;\/script&gt;\r\n\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n\tvar queryStringValues = $() .SPServices.SPGetQueryString();\r\n\tvar strDocId = queryStringValues&#x5B;&quot;DOC&quot;];\r\n\t\/\/double-check for lowercase parameter name:\r\n\tif(!strDocId) strDocId = queryStringValues&#x5B;&quot;doc&quot;]\r\n\tvar cQueryOptions = &quot;&lt;QueryOptions&gt;&lt;ExpandUserField&gt;FALSE&lt;\/ExpandUserField&gt;&lt;\/QueryOptions&gt;&quot; ;\r\n\tvar url;\r\n\tvar foundFlag = false;\r\n\r\n\tfunction queryListA() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST A&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListB() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST B&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListC() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST C&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListD() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST D&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListE() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST E&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\tfunction queryListF() {\r\n\t\t\/\/call GetListItems\r\n\t\t\/\/set url=&lt;URL OF LIST F&gt; + &quot;\/DispForm.aspx?ID=&quot; + MATCHING ITEM ID\r\n\t\t\/\/inside completefunc, set foundFlag=true and window.location=url;\r\n\t}\r\n\r\n\t$(document).ready(function() {\r\n\t\tif(strDocId) {\r\n\t\t\tif(strDocId=='0') {\r\n\t\t\t\talert(&quot;The document ID provided (\\&quot;0\\&quot;) is not valid. Please try again.&quot;\r\n\t\t\t\tfoundFlag = true;\r\n\t\t\t\twindow.location = URL TO HOMEPAGE;\r\n\t\t\t}\r\n\r\n\t\t\tif(!foundFlag) queryListE();\r\n\t\t\tif(!foundFlag) queryListD();\r\n\t\t\tif(!foundFlag) queryListC();\r\n\t\t\tif(!foundFlag) queryListF();\r\n\t\t\tif(!foundFlag) queryListA();\r\n\t\t\tif(!foundFlag) queryListB();\r\n\t\t} else {\r\n\t\t\talert(&quot;The link is invalid or you have accessed this page in an unsupported manner. Please check the link and try your request again.&quot;);\r\n\t\t\twindow.location = URL TO HOMEPAGE;\r\n\t\t}\r\n\t});\r\n&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n\r\n&lt;body&gt;\r\n&lt;div class=&quot;LoadingMsgMain&quot;&gt;\r\n&lt;div class=&quot;LoadingMsgTitle&quot;&gt; YOUR SITE TITLE HERE&lt;\/div&gt;\r\n&lt;div style=&quot;text-align:center; font-size:large; font-face:Calibri; padding:20px;&quot;&gt;Please wait the system prepares your document...\r\n&lt;br \/&gt;&lt;br \/&gt;\r\n&lt;img src='\/_layouts\/images\/gears_an.gif' style=&quot;border:none;&quot; \/&gt;&lt;\/div&gt;\r\n&lt;\/div&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices. If you have not yet explored how SPServices can expand your current SharePoint solutions, you should definitely check the project out on CodePlex! A client recently required a single landing page (a &#8220;loading&#8221; page, if you will) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":264,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[21,11],"tags":[47,124,22,46,33],"class_list":["post-256","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sharepoint","category-technical","tag-jquery","tag-sharepoint","tag-sharepoint-2010","tag-spservices","tag-web-services"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com<\/title>\n<meta name=\"description\" content=\"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com\" \/>\n<meta property=\"og:description\" content=\"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/\" \/>\n<meta property=\"og:site_name\" content=\"fkylewright.com\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-22T05:26:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-05-21T21:44:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"312\" \/>\n\t<meta property=\"og:image:height\" content=\"85\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kyle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fkylewright\" \/>\n<meta name=\"twitter:site\" content=\"@fkylewright\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kyle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/\"},\"author\":{\"name\":\"Kyle\",\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/053369c8cabb8fa9db83533db08f6461\"},\"headline\":\"SharePoint List Item Loading Page &#8212; Query from Multiple Lists\",\"datePublished\":\"2014-04-22T05:26:31+00:00\",\"dateModified\":\"2018-05-21T21:44:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/\"},\"wordCount\":1409,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/053369c8cabb8fa9db83533db08f6461\"},\"image\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/spservices_logo.jpg?fit=312%2C85&ssl=1\",\"keywords\":[\"JQuery\",\"SharePoint\",\"SharePoint 2010\",\"SPServices\",\"web services\"],\"articleSection\":[\"SharePoint\",\"Technical\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/\",\"url\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/\",\"name\":\"SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/spservices_logo.jpg?fit=312%2C85&ssl=1\",\"datePublished\":\"2014-04-22T05:26:31+00:00\",\"dateModified\":\"2018-05-21T21:44:57+00:00\",\"description\":\"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/spservices_logo.jpg?fit=312%2C85&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/spservices_logo.jpg?fit=312%2C85&ssl=1\",\"width\":312,\"height\":85},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/2014\\\/04\\\/sharepoint-item-loading-page-query-from-multiple-lists\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SharePoint List Item Loading Page &#8212; Query from Multiple Lists\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/\",\"name\":\"fkylewright.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/053369c8cabb8fa9db83533db08f6461\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/053369c8cabb8fa9db83533db08f6461\",\"name\":\"Kyle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1\",\"width\":256,\"height\":256,\"caption\":\"Kyle\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.fkylewright.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1\"},\"sameAs\":[\"https:\\\/\\\/fkylewright.com\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fkylewright\\\/\"],\"url\":\"https:\\\/\\\/www.fkylewright.com\\\/wordpress\\\/author\\\/kyle\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com","description":"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/","og_locale":"en_US","og_type":"article","og_title":"SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com","og_description":"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.","og_url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/","og_site_name":"fkylewright.com","article_published_time":"2014-04-22T05:26:31+00:00","article_modified_time":"2018-05-21T21:44:57+00:00","og_image":[{"width":312,"height":85,"url":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","type":"image\/jpeg"}],"author":"Kyle","twitter_card":"summary_large_image","twitter_creator":"@fkylewright","twitter_site":"@fkylewright","twitter_misc":{"Written by":"Kyle","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#article","isPartOf":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/"},"author":{"name":"Kyle","@id":"https:\/\/www.fkylewright.com\/wordpress\/#\/schema\/person\/053369c8cabb8fa9db83533db08f6461"},"headline":"SharePoint List Item Loading Page &#8212; Query from Multiple Lists","datePublished":"2014-04-22T05:26:31+00:00","dateModified":"2018-05-21T21:44:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/"},"wordCount":1409,"commentCount":0,"publisher":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/#\/schema\/person\/053369c8cabb8fa9db83533db08f6461"},"image":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","keywords":["JQuery","SharePoint","SharePoint 2010","SPServices","web services"],"articleSection":["SharePoint","Technical"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/","url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/","name":"SharePoint List Item Loading Page - Query from Multiple Lists - fkylewright.com","isPartOf":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#primaryimage"},"image":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","datePublished":"2014-04-22T05:26:31+00:00","dateModified":"2018-05-21T21:44:57+00:00","description":"This blog post covers how to implement a simple, yet devilishly effective mutiple-list query redirect page using SPServices.","breadcrumb":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#primaryimage","url":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","width":312,"height":85},{"@type":"BreadcrumbList","@id":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/sharepoint-item-loading-page-query-from-multiple-lists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fkylewright.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"SharePoint List Item Loading Page &#8212; Query from Multiple Lists"}]},{"@type":"WebSite","@id":"https:\/\/www.fkylewright.com\/wordpress\/#website","url":"https:\/\/www.fkylewright.com\/wordpress\/","name":"fkylewright.com","description":"","publisher":{"@id":"https:\/\/www.fkylewright.com\/wordpress\/#\/schema\/person\/053369c8cabb8fa9db83533db08f6461"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fkylewright.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.fkylewright.com\/wordpress\/#\/schema\/person\/053369c8cabb8fa9db83533db08f6461","name":"Kyle","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2023\/06\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1","url":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2023\/06\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2023\/06\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1","width":256,"height":256,"caption":"Kyle"},"logo":{"@id":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2023\/06\/android-chrome-256x256-1.png?fit=256%2C256&ssl=1"},"sameAs":["https:\/\/fkylewright.com","https:\/\/www.linkedin.com\/in\/fkylewright\/"],"url":"https:\/\/www.fkylewright.com\/wordpress\/author\/kyle\/"}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3OIFY-48","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1521,"url":"https:\/\/www.fkylewright.com\/wordpress\/2015\/08\/sharepoint-2010-listdata-svc-returns-500-internal-server-error\/","url_meta":{"origin":256,"position":0},"title":"SharePoint 2010 listdata.svc returns 500 Internal Server Error","author":"Kyle","date":"August 19, 2015","format":false,"excerpt":"I recently had a list on which all listdata.svc calls failed with a generic \u201c500 Internal Server Error.\u201d After reviewing\u00a0some ULS logs, I found errors\u00a0indicating my query attempts were aborted due to exceeding the farm's lookup column threshold. I frequently use the SharePoint 2010 REST interface to access list items\u2026","rel":"","context":"In &quot;SharePoint&quot;","block_context":{"text":"SharePoint","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/sharepoint\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2015\/08\/ODataLogo-96.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":228,"url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/03\/sharepoint-list-web-services-via-powershell\/","url_meta":{"origin":256,"position":1},"title":"SharePoint List Web Services via PowerShell","author":"Kyle","date":"March 10, 2014","format":false,"excerpt":"The Project: Migrating Data from Legacy System to SharePoint I recently completed a data migration project to migrate an aging Domino database to a custom site collection in SharePoint 2010. The data itself was processed in two stages: first via LotusScript to extract it from the Domino database, and then\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":273,"url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/05\/intermittent-designer-workflow-failures-unable-to-execute-query-error-0x81020014\/","url_meta":{"origin":256,"position":2},"title":"Intermittent Designer Workflow Failures &#8211; Unable to execute query: Error 0x81020014","author":"Kyle","date":"May 16, 2014","format":false,"excerpt":"The past 3 weeks I have monitored another intermittent issue that is comically difficult to troubleshoot, this time related to the workflow infrastructure. End users report that list items fail to either create or copy between lists as expected (and defined in the business process workflows).\u00a0I eventually opened a Microsoft\u2026","rel":"","context":"In &quot;SharePoint&quot;","block_context":{"text":"SharePoint","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/sharepoint\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":251,"url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/04\/indexing-single-value-lookup-columns-strange-behavior\/","url_meta":{"origin":256,"position":3},"title":"SharePoint Single-Value Lookup Column Index (Strange Behavior)","author":"Kyle","date":"April 14, 2014","format":false,"excerpt":"Today's post continues my previous discussion of column index issues, but this time we focus solely on the indexing of a single-value lookup column and some of the strange behavior that indexing can produce when the row contains a blank value. Keep in mind that lookup columns set to allow\u2026","rel":"","context":"In &quot;SharePoint&quot;","block_context":{"text":"SharePoint","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/sharepoint\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":279,"url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/05\/unable-display-web-part\/","url_meta":{"origin":256,"position":4},"title":"Unable to Display this Web Part","author":"Kyle","date":"May 19, 2014","format":false,"excerpt":"In this latest installment of my ongoing series about intermittent SharePoint issues, I have been working with Microsoft Premier support on this web part error for well over a month now (xslttransformtimeout). The Issue At random intervals, SharePoint list view web parts (XSLTListView) will display the following error message as\u2026","rel":"","context":"In &quot;SharePoint&quot;","block_context":{"text":"SharePoint","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/sharepoint\/"},"img":{"alt_text":"\"Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator.\"","src":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/05\/UnableToDisplayWebPart-e1402366882965.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/05\/UnableToDisplayWebPart-e1402366882965.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/05\/UnableToDisplayWebPart-e1402366882965.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/05\/UnableToDisplayWebPart-e1402366882965.jpg?resize=700%2C400 2x"},"classes":[]},{"id":176,"url":"https:\/\/www.fkylewright.com\/wordpress\/2014\/02\/exception-from-hresult-0x80131904-column-index-issue\/","url_meta":{"origin":256,"position":5},"title":"Exception from HRESULT: 0x80131904 (Column Index Issue)","author":"Kyle","date":"February 8, 2014","format":false,"excerpt":"A frequently-accessed production list suddenly started exhibiting strange behaviors as users (and automated workflows!) attempted to edit existing items. Users could add new items and delete existing items from the list without issue, using both datasheet views and the list forms. However, if users tried to update existing items (evenly\u2026","rel":"","context":"In &quot;SharePoint&quot;","block_context":{"text":"SharePoint","link":"https:\/\/www.fkylewright.com\/wordpress\/category\/sharepoint\/"},"img":{"alt_text":"\"An unexpected error has occurred. Changes to your data cannot be saved. For this error, you can retry or discard your changes.\"","src":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/02\/1-300x174.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.fkylewright.com\/wordpress\/wp-content\/uploads\/2014\/04\/spservices_logo.jpg?fit=312%2C85&ssl=1","_links":{"self":[{"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/posts\/256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/comments?post=256"}],"version-history":[{"count":10,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/posts\/256\/revisions"}],"predecessor-version":[{"id":1823,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/posts\/256\/revisions\/1823"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/media\/264"}],"wp:attachment":[{"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/media?parent=256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/categories?post=256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fkylewright.com\/wordpress\/wp-json\/wp\/v2\/tags?post=256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}