This article applies to InfoPath 2007 only as 2010 and 2013 no longer have this limitation.
At some point during your career, you will need to connect to a SharePoint list to retrieve information for a drop down list. This process has changed since 2007 but I thought that I would go ahead and share this. InfoPath 2007 only reads the data in the list on how it was entered in to SharePoint. For example, if you uploaded a list of addresses in no particular order, this is the way that InfoPath reads it. Now, what if you would like to see your selection sorted alphabetically? You will first need to either modify your existing view of the list you will be using as a data source or create a new view.
***Note: In order to see the entire list, the view must be changed to show more than the default 100 records
InfoPath will not recognize this view and you cannot sort lists when forms are browser based. As stated earlier, it only sees the original layout. In order for InfoPath to populate the drop down list with the correct format you will need to do the following:
- Double click the drop down list that you want to add the data connection to. This box will pop up. Follow the steps in the remaining screenshots to step 4. Then follow further directions.
- Go to the site that contains your list that you want to pull your data from.
Example: http://yoursite.com/subsite/ and open the list
Click “Settings” on the taskbar of the list then click “List Settings”
Click on the view that you would like to use located at the bottom of the page
When the page opens, highlight the entire address bar and press Ctrl+C
Open a text editor (Notepad) and press Ctrl+V. Your address will look something like this:http://yoursite.com/subsite/_layouts/ViewEdit.aspx?list=%7B9C833605%2D8911%2D4B69%2D84AA%2D24DF8775735F%7D&View=%7B734A3221%2D4E03%2D4B10%2D9BE9%2D857775EBF802%7D&Source=%252Fdepartments%252Fhealth%252F%255Flayouts%252Flistedit%252Easpx%253FList%253D%25257B9C833605%25252D8911%25252D4B69%25252D84AA%25252D24DF8775735F%25257D
- You will need to modify this address to provide the form with the correct XML values. To do so, either type or copy/paste from this address the following.
Make sure to replace yoursite.com/subsite with your own variables:http://yoursite.com/subsite/_vti_bin/owssvr.dll?Cmd=Display&List=%7B9C833605%2D8911%2D4B69%2D84AA%2D24DF8775735F%7D&View=%7B734A3221%2D4E03%2D4B10%2D9BE9%2D857775EBF802%7D&XMLDATA=TRUE - The %, letter, number string represents the {GUID} for the page. The &XMLDATA=TRUE converts the page into an XML format that the InfoPath form can read. The &View and string represents the {GUID} for the “AllItems View”
- Once you have modified the url, copy and paste it into the next setup page. Close the text editor and do not save when it asks. Follow the steps in the remaining screenshots.
- Save the InfoPath form and publish it to the SharePoint site. Next, login to SharePoint and go to the form that contains this data connection. Verify that the information is displayed in the correct order.
This little trick will save you all kinds of headaches if you rely on information supplied by your SharePoint lists.
Thanks a lot!