Monday, February 14, 2011

Manage Parent Child Relationship with infopath forms in Sharepoint 2010

During the past couple of weeks, I have been searching on how the parent child relationship could be managed in Sharepoint 2010, and have found two references on it:

Mark has explained very briefly how it could be done, but my scenario is a little bit different. Actaully I have infopath list forms and infopath forms does not allow to access Query string parameters of the pages on which they are placed. I have also tried to submit data from infopath 2010 list form to another list using web service (Lists.asmx) but I have failed (I am still need some help on this).
Ok, let’s talk about the solution that how we can get Query string parameter in infopath 2010 form:
  • Sharepoint 2010 have filter webparts that allows you to filter the page content by applying them, so I have use “Query string filter” webpart and set the properties of the Query string filter (Query string Parameter = <your parameter name>) .
  • Filter Webparts could also send the data to different webparts placed on the same page. It can be done by selecting the filter webpart and use “Connections” and send the Query string data to the infopath form webpart. One thing here, in the connection dialog, you would not see lookup columns i.e. if you have made a lookup column which points to the parent List then this column would not be visible in connection dialog, so you have to make a “single line of text” column in the child list and select it in connection dialog. You can hide this field from the List form and from the List Views.
  • Once you get the Query string parameter value in text field, you can copy it to the lookup column by using infopath rules.
Hope this information helps.

1 comment:

  1. Question regarding setting the lookup column via Infopath rules. I assume for a lookup column it needs to be in the format "ID;#value"? I am creating a dummy text field formatted this way and tried to copy this field to the lookup field via rules, but it is not working. When I click the submit button, I receive an error on the lookup field that "only positive integers allowed"?