I have created several new Nintex Forms for existing lists that previously used InfoPath forms.
Many fields were using data connections in InfoPath to populate single line of text fields with lookup values.
I created lookup selectors in the form to replace these data connections and pointed them to a new view in the data source list specifically for the lookup selectors. However, the lookup selectors never populate with the existing value in their connected fields. So we have thousands of records created with the InfoPath forms that now show blank fields in the new Nintex Form even though their fields are populated. Lookup selector control has no default value option, so I can't even set it to the value of the connected field.
How can I make all the blank lookup selectors display the value in the connected field without having to go through each and every record manually and reselect the missing form values?
primary identifier for lookup fields/controls is items ID.
if you've got saved just text values from infopath, lookup control will not be able to map them to items from source (lookup) list. value of displayed/text field may change over time, or you could even have several entries with different IDs butt the same text value
Thanks for that information. The OOB SharePoint Lookup column won't work for my purposes because the customer does not want previously submitted items to change if the value in the lookup column changes. I basically just need a way to get all the values to populate once in the new forms, but then prevent them from updating in the future.
but then I think you should approach it different way - let the lookup control show just on NEW form and let the users select from lookup. connect loop control TEXT value to a text field.
in VIEW and EDIT modes lookup control shoudl be hidden and text field should be presented (maybe in a read-only mode)
if you connect the lookup control ID value to a text/numeric list field, it will still follow changes of text field in source lookup list, since, as mentioned, primary identifier is item ID which doesn't change
My problem is that these are existing list entries that previously used InfoPath forms and a data connection to a single line of text. Now that I have updated them to Nintex Forms, the lookup control is blank when the items are opened to be edited. I just need the lookup control to populate once automatically, then not update again unless a user makes a change to the field in the form.
I am wondering if I add an ID column for the lookup field and populate that with the appropriate IDs, then create a site workflow that loops through the list and saves an existing value back to each form if that would populate the lookup control in the form? Then I could remove the ID value from the control so that it would only update if the user manually selected a different value?
I just need the lookup control to populate once automatically, then not update again unless a user makes a change to the field in the form.
this is not how lookup works in sharepoint.
take the lookup as a reference to an item in a different list. (internal) reference is always made by the item ID. so that its functionality is user friendly you can choose one or multiple columns to represent display (text) value of the lookup. lookup control display value is always the current value from source lookup list.
sometimes is usefull that you do not want/need real reference, but you just want a display value as a 'proof' what the lookup display value was at a given time point. (and nintex supports the feature with option 'Text connected to')
since, in principle, it's not restricted anyhow that display value chnages over time, it's obvious that display value cannot be mapped back to the former source item.
and that's the reason why your lookups are empty despite you have saved a display/text value.
take the 'Text connected to' option as a one way functionality - it saves selected lookup display/text value to a list field, but it doesn't show a list field text value in a lookup control.
I'm not sure what your source lookup list is about and what chnages might happen there that you do not want to be propagated to target list.
but in general, basic meaning of source list items shouldn't be changed. I do not want to say it cannot be updated at all.
imagine eg. you have an item like '1;#black' (ie.: ID=1; text value=black). it shouldn't cause a problem if you update it to '1;#Black' or '1;#Black (#000000)' since the basic meaning is still the same, but it shouldn't become '1;#white' since it's something completelly different. 'white' should be added as a new item with ID=2;
if you keep this rule in mind you shouldn't have problem to use lookups with their regular functionality and refer to lookup items by their IDs. Lookup display value wouldn't change to anything else having oher meaning on its own.
Then I could remove the ID value from the control so that it would only update if the user manually selected a different value?
that will not help you at all. while you will have valid item IDs lookup will work. once you lose IDs you will again end up with empty lookup controls.