I am trying to get the loaded data(Record objects) in a Comboboxitem. I set an option data source to the combobox item.
Now according the Formitem.optionDatasource documentation,
The data will be retrieved via a "fetch" operation on the DataSource, passing the pickListCriteria (if set) as criteria, and passing optionFilterContext (if set) as DSRequest properties.
I wanted to know is there any way i can add a callback to the above fetch operation that was fired during init,so that i can have the records that are loaded into the combobox ?
I am asking this because, when user selects a record from comboboxitem, i want to extract the selected record (Record object) so that i get pull other attributes apart from displayFiled and valueField.
I tried to achieve this via event.getItem().getSelectedRecord() , however again the doc's says that return value for the method getSelectedRecord will be null until the fetch completes( in which case how can i get the record) or there is no match.
SmartClient version:
SC_SNAPSHOT-2011-12-05/LGPL Development Only (built 2011-12-05)
Browser : Chorme 32.0.1
Now according the Formitem.optionDatasource documentation,
The data will be retrieved via a "fetch" operation on the DataSource, passing the pickListCriteria (if set) as criteria, and passing optionFilterContext (if set) as DSRequest properties.
I wanted to know is there any way i can add a callback to the above fetch operation that was fired during init,so that i can have the records that are loaded into the combobox ?
I am asking this because, when user selects a record from comboboxitem, i want to extract the selected record (Record object) so that i get pull other attributes apart from displayFiled and valueField.
I tried to achieve this via event.getItem().getSelectedRecord() , however again the doc's says that return value for the method getSelectedRecord will be null until the fetch completes( in which case how can i get the record) or there is no match.
Code:
ComboBoxItem selectFileItem = new ComboBoxItem("fileSelect", "ComboBox");
selectFileItem.setAutoFetchData(true);
selectFileItem.setHideEmptyPickList(false);
selectFileItem.setAddUnknownValues(Boolean.FALSE);
selectFileItem.setWrapTitle(false);
selectFileItem.setRequired(true);
selectFileItem.setColSpan(5);
selectFileItem.setWidth(745);
selectFileItem.setOptionDataSource(myOptionDataSource);
selectFileItem.setValueField(myOptionDataSource.KEY);
selectFileItem.setDisplayField(myOptionDataSource.DESCRIPTION);
selectFileItem.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
event.cancel();
if(event.getValue() != null) {
Record record = event.getItem().getSelectedRecord(); //[b] this line is returning null[/b]
......
}
}
SmartClient version:
SC_SNAPSHOT-2011-12-05/LGPL Development Only (built 2011-12-05)
Browser : Chorme 32.0.1
Comment