Hello,
SmartClient Version 9.1 Pro (and also debugged in LGPL)
As per docu, ComboBoxItem can be configured to set fetchDisplayedFieldsOnly = true, so the list of fields used by this pickList will be passed to the datasource as DSRequest.outputs.
Per docu pickListFields should be specified as an array of ListGridField.
However, the code that build the value for DSRequest.outputs does not consider to extract the field name from a ListGridField object.
Please see PickList.js method makePickList : function()
The resulting output as reported in the dev console is e.g.:
outputs:"[object Object],[object Object],[object Object],Sku"
Where Sku is added fom this.valueField.
Please have a look.
Best regards,
Daniel
SmartClient Version 9.1 Pro (and also debugged in LGPL)
As per docu, ComboBoxItem can be configured to set fetchDisplayedFieldsOnly = true, so the list of fields used by this pickList will be passed to the datasource as DSRequest.outputs.
Per docu pickListFields should be specified as an array of ListGridField.
However, the code that build the value for DSRequest.outputs does not consider to extract the field name from a ListGridField object.
Please see PickList.js method makePickList : function()
Code:
// If limiting the fetch fields, build the correct optionFilterContext.outputs if (this.fetchDisplayedFieldsOnly && this.optionDataSource && (!this.optionFilterContext || !this.optionFilterContext.outputs)) { var fields = this.pickListFields || []; if (this.valueField) fields.add(this.valueField); if (this.displayField) fields.add(this.displayField); if (fields.length > 0) { if (!this.optionFilterContext) this.optionFilterContext = {}; this.optionFilterContext.outputs = fields.getUniqueItems().join(','); } }
outputs:"[object Object],[object Object],[object Object],Sku"
Where Sku is added fom this.valueField.
Please have a look.
Best regards,
Daniel
Comment