2

I'm building an infopath form to enter a request form for SharePoint 2013 (SP Online) using InfoPath 2013. There are different kinds of requests and corresponding questions (fields) related to those requests, each request type is created as a content type. All of those request content types in this example are also already attached to a list. Here's my dilemma:

I started designing InfoPath form by clicking on "Customize form" under List ribbon and noticed that the default content type fields were available as main data source and I could easily preview and test those fields in the form no problem. However, when I need to add additional fields to this form from other content types tied to this list I could only add them as read only repeating section. Is there a way to add fields from additional content types of the list when designing infopath form for this list?

Related thread I found online: http://community.office365.com/en-us/f/154/t/56163.aspx

There is no solution though in this thread and that's why I decided to open this up here.

0

1 Answer 1

1

A SharePoint list item can only have one content type (but one content type can extend another, which I will explain in the last paragraph...), so unless the fields you're trying to add belong to the content type of the item you're editing, they would never be available for that item anyway (which is why you can only add them to your infopath form as read only)

To get a better idea of this, you could create a custom list and add a content type like 'contact' to it -- that way you have item and contact available on the 'new item' menu. Add some fields (like Last Name, First Name, Full Name) from the contact content type to your all items view. Create a new contact item (from the Items tab, New Items dropdown, contact) and notice it will let you enter all of the fields you would normally associate with a contact. Now go create a new generic item (Items tab, New Items dropdown, new item) and you'll notice that the only field you get to edit is Title. This is because your generic item on this list doesn't have any of those other fields associated with it.

I think what would work well for your situation is to make a custom content type (maybe called 'Request') that contains all of the information that is common to every request, then create child content types for each specific type of request that extend this common parent. You can accomplish this by choosing your 'Request' content type as the parent for each of the specific children when you are creating them (using a field called 'Parent Content Type' from your site content type creation form). This will make all the children types use every field in the parent type (which will update dynamically if you modify the parent content type I might add) and allow you to add more fields that are specific to each type of request

Hope that helps!

5
  • Thanks for your time and input. I beg to differ- one list can have more than one content types associated with it and I already have that configured. I think what I'm trying to find out is whether there is any way to add fields as read/write from content types (other than default) in an InfoPath form? The content types in question here are all created and already associated with a list.
    – zigzag
    Commented Jun 23, 2014 at 18:09
  • A list can have multiple content types, but a list item cannot. And typically no, a form can not write to fields from more than one content type, because that is how forms are associated with items, by their content types.
    – John-M
    Commented Jun 24, 2014 at 12:29
  • John, that's correct and this seems like a limitation for now. Did find a workaround to the dropdown effect that I was looking for that would switch content type in a form and wanted to share in case anyone else is looking. I should have clarified my question as well. I needed to create infopath form for each content type in a list and you can't do this until you switch the default content type each time for a list and then open from infopath the form behind this content type. What this has allowed me to do is create a unique link (and unique form) behind each content type in a list.
    – zigzag
    Commented Jun 28, 2014 at 19:35
  • I agree with zagzag's last statement. Creating a few content types and then manually switching between them so that you can edit each one as a different form seems to be the answer for my situation. Now the part I need to figure out is how to also have a workflow running in the background that "babysit's" this process so that the initial request triggers the workflow to send an approval like process that emails each form to the person in the chain who needs to respond. In my head I can see the submit rule(infopath form) changing a fiel Commented Jan 14, 2015 at 19:48
  • To create custom InfoPath list forms for each content type associated with a list, per zigzag and Trae, you can change the order and default content type and then back in the library GUI click Customize Form in the ribbon. Alternatively, you can 1) access List Settings, 2) in General Settings access the Form settings section, 3) select from a drop down all list content types, and click Modify the existing InfoPath form. What I’m struggling with is how zigzag in an InfoPath list from was able to switch from one custom list form to another. Commented Jan 11, 2017 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.