Adding Contact Selector Control to InfoPath form

The Contact Selector control is an ActiveX control but it is a special cased control, in that it can also be used in InfoPath browser forms. To use this control there are specific steps that need to be taken – let’s take a look at those now.

Step 1: Steps to add Contact Selector control to your Controls Task Pane

1) From the Controls Task Pane click "Add or Remove Custom Controls" link
2) Click the Add button
3) Add Custom Control Wizard select "ActiveX control" and click Next
4) This will display a list of controls , select "Contact Selector" ,click Next
5) Select “Don’t include a .cab file” and click Next
6) For Binding Property select Value and click Next
7) From the Field or group type box choose Field or group (any data type) and click Finish
8) Click Close and then click OK

Step 2: Create the data structure for the Contact Selector Control

The Contact Selector control needs to have a specific data structure to work properly – this is documented on the “Items” tab of the Properties screen for the control; however, we’ll include that information here as well.

**IMPORTANT!** Spelling and capitalization must be exactly the same, starting with the “Person” group!

1) Add a non-Repeating Group named: gpContactSelector
2) Add a Repeating Group named: Person
3) Add the 3 text fields to the Person group: DisplayName, AccountId and AccountType

Step 3: Add and bind the Contact Selector control to the View

1) Drag the gpContactSelector Group to the View and select “Contact Selector” from the list of controls
2) You’re almost done…! :-)

Step 4: Add a secondary data source XML file which specifies the SharePoint server

The Contact Selector control needs to know the “context” of where the user validation should occur. These steps are not necessary if you are only displaying the form in a browser from SharePoint – in this case, it uses the context of the site from where it was provisioned; however, if you are in a mixed client/browser scenario you will need to include this XML file so forms
opened in the client can use this functionality.

1) Open Notepad
2) Copy and paste this one-line XML:
<Context siteUrl="http://<servername>"/>
Replace <servername> with the name of your server
3) Save this as: Context.xml (– naming and capitalization are important)
4) Add Context.xml as a “Receive” type Secondary Data Connection to your form
template and make sure the option “Include the data as a resource file” is
enabled

Comments

Popular posts from this blog

Adding Validation to a Custom NewForm.aspx in SharePoint & Redirect

How to Add onLoad JavaScript event in SharePoint?