If you are running your SharePoint Server 2010 environment with the latest August 2011 CU, and are using the External Item Picker control in a browser-enabled InfoPath form, you will receive the following message when the form posts back:
If you look in your Event Viewer, you will see the following exception:
Type: ArgumentException, Exception Message: The control must be in the control tree of a page.
Parameter name: control)
This appears to be a regression in the latest CU, but as of yet there is no fix to the problem.
I have received new information on this bug that indicates it may be a part of the February 2012 CU.
Microsoft has acknowledged the issue as a bug, and are currently working on a hotfix. However, there is currently no date on when that fix will be available.
I have applied the October 2011 SharePoint Server 2010 CU, and the problem still exists.
Steps to Reproduce
- Ensure your SharePoint Server 2010 Environment has SP1 applied
- Ensure your SharePoint Server 2010 Environment has August 2011 CU applied
- Create a blank InfoPath form
- Add a Repeating Table with 1 Column (remove the default column)
- Add an External Item Picker to the Repeating Table and Configure General Settings (use the External Content Type details page in Central Admin to find the following information):
- Set ECT Namespace to the Namespace of External Content Type
- Set ECT Name to the Name of External Content Type
- Set System Instance Name to External System of External Content Type
- Publish the form to a SharePoint Form Library as a browser-enabled form
- Launch a new form
- Launch the Entity Picker and select a value for the first control in the repeating section
- Click “Add New Item” to add an additional item (this forces a postback, which is why I chose the repeating table to easily display the issue)
- Upon clicking “Add New Item” you will receive the error
At this point the only workaround to this issue is to not upgrade your farm to the latest CU. If you have already done so, however, then I do not currently have a solution that will solve this issue. I will update this post as I get more information.