How do you link a form field to a choicebox selection so that the field's value is set by the information referenced by the ID of the choicebox selection? I have a choicebox in a custom list form which is bound to a "Client" list which contains client names, IDs, reference numbers, addresses, etc. The choicebox displays the client name and has the selected value set to ID. I would then like to query the Client list by the selected ID to populate form fields with Client Name, Client Address, Client Phone, etc. Is there a way to do this without using custom code? I am using SharePoint 2010, SharePoint Designer 2010 and InfoPath for the forms.
views:
487answers:
1
A:
I have a feeling this is not supported, but I was able to get this working by creating fields as follows in the schema.xml of my custom list template:
<Field ID="{AB09A2D6-EBD4-4511-AE91-A8C54DC8442F}" Type="Lookup" Name="CustomItemIdLookup" DisplayName="Client" List="$Resources:core,lists_Folder;/Client" ShowField="Title" Hidden="FALSE" Required="TRUE" StaticName="CustomItemIdLookup">
</Field>
<Field ID="{E558933C-A03B-4932-85C9-6A786396AA78}" Type="Lookup" Name="CustomClientNameLookup" DisplayName="Client Name" List="$Resources:core,lists_Folder;/Client" ShowField="CustomClientName" Hidden="FALSE" JoinColName="tp_ID" JoinRowOrdinal="0" JoinType="INNER" FieldRef="CustomItemIdLookup" ReadOnly="FALSE" ShowInNewForm="FALSE" ShowInEditForm="FALSE">
</Field>
<Field ID="{5292CB52-80C7-4AFA-BA3E-93FDF22B37E3}" Type="Lookup" Name="CustomClientAddressLookup" DisplayName="Client Address" List="$Resources:core,lists_Folder;/Client" ShowField="CustomClientAddress" Hidden="FALSE" JoinColName="tp_ID" JoinRowOrdinal="0" JoinType="INNER" FieldRef="CustomItemIdLookup" ReadOnly="FALSE" ShowInNewForm="FALSE" ShowInEditForm="FALSE">
</Field>
<Field ID="{B3E22803-9A4B-4E7E-B05F-82221C182735}" Type="Lookup" Name="CustomClientPhoneLookup" DisplayName="Client Phone" List="$Resources:core,lists_Folder;/Client" ShowField="CustomClientPhone" Hidden="FALSE" JoinColName="tp_ID" JoinRowOrdinal="0" JoinType="INNER" FieldRef="CustomItemIdLookup" ReadOnly="FALSE" ShowInNewForm="FALSE" ShowInEditForm="FALSE">
</Field>
Note, Client Name, Client Address, Client Phone will not be editable and rich text/multiline fields do not work.
Rich Bennema
2010-03-15 13:45:46