Hi Isomorphic,
creating this testcase I noticed there is an issue with ComboBoxItems used as editor in ListGridFields. It seems in that case they don't fire the necessary fetchMissingValueReply needed for the displayField. This is not true for SelectItems (on open fetchRemoteDataReply to load the pickList rows 0-75) and also works in normal DynamicForms where there is the fetchMissingValueReply-request.
I can also reproduce the issue in my application, but as I'm not having that setting often, I did not notice this, yet.
Please see this video (v11.1p_2018-01-18):
Until you open the pickList, the displayField value is missing for all rows, after you opened the pickList once, it is present for all rows.
(I did not test what happens if the fetchRemoteDataReply if either the ComboBoxItem or the SelectItem does not include the needed row, yet, but will do so next.)
Change to the linked testcase:
Best regards
Blama
creating this testcase I noticed there is an issue with ComboBoxItems used as editor in ListGridFields. It seems in that case they don't fire the necessary fetchMissingValueReply needed for the displayField. This is not true for SelectItems (on open fetchRemoteDataReply to load the pickList rows 0-75) and also works in normal DynamicForms where there is the fetchMissingValueReply-request.
I can also reproduce the issue in my application, but as I'm not having that setting often, I did not notice this, yet.
Please see this video (v11.1p_2018-01-18):
Until you open the pickList, the displayField value is missing for all rows, after you opened the pickList once, it is present for all rows.
(I did not test what happens if the fetchRemoteDataReply if either the ComboBoxItem or the SelectItem does not include the needed row, yet, but will do so next.)
Change to the linked testcase:
Code:
if (asSelectItem) { SelectItem si = new SelectItem("ID"); si.setCachePickListResults(false); si.setOptionDataSource(DataSource.get("COMPANY")); si.setValueField("ID"); si.setDisplayField("[B]NAMETWICE[/B]"); companyIdLGF.setEditorProperties(si); } else { ComboBoxItem cbi = new ComboBoxItem("ID"); cbi.setCachePickListResults(false); cbi.setOptionDataSource(DataSource.get("COMPANY")); cbi.setValueField("ID"); cbi.setDisplayField("[B]NAMETWICE[/B]"); companyIdLGF.setEditorProperties(cbi); }
Blama
Comment