i had the same problem... it solved it setting a custom render for the cell:
col.setEditor(cbeditor);
col.setRenderer(new Renderer() {
public String render(Object value, CellMetadata cellMetadata,
Record record,
int rowIndex, int colNum, Store store) {
return (String)
SharedUIControls.compartIDtoValueMap.get(value.toString());
}
});
where `compartIDtoValueMap` is a static HashMap populed via GWT RPC at
application startup (and whatever is needed)
2009/9/22 kilaru <[email protected]>
>
> I have EditorGridPanel and in that one of the cells I am showing
> ComboBox to the user. With the below code combobox is displayed in a
> cell when I click on a cell. Also I can see list of countries which
> are retrieved from database. Problem is when I select a country from
> combobox, and when focus is lost from that combobox, the value of
> countryPk is displayed instead of country name. Where I am expecting
> the value of countryPk should be send to server and country name
> should be displayed to user.
>
>
>
> Please help me in this problem.
>
>
>
>
> // Code to add combobox to the gridpanel
> ----------------------------------------------------
>
>
> ------------------------------------------------------------------------------------------------------------
>
> ColumnConfig countryConfig = new ColumnConfig("Country", "countryPk",
> 100);
>
> final String[] countryHeadings = new String[]{"countryPk",
> "country"};
>
> final ComboBox countryComboBox = new ComboBox("Select
> Country","countryPk");
>
> final Store gridCountriesStore = new SimpleStore(countryHeadings, new
> String[][]{});
>
> gridCountriesStore.load();
>
> countryComboBox .setStore(gridCountriesStore);
>
> countryComboBox .setDisplayField("country");
>
> countryComboBox .setMode(ComboBox.LOCAL);
>
> countryComboBox .setTriggerAction(ComboBox.ALL);
>
> countryComboBox .setForceSelection(true);
>
> countryComboBox .setValueField("countryPk");
>
> countryComboBox .setReadOnly(true);
>
>
> countryComboBox.addListener(new ComboBoxListenerAdapter() {
>
> LookupController lookupController = new
> LookupController();
>
> @Override
>
> public void onFocus(Field field) {
>
> lookupController.updateCountriesComboStore
> (gridCountriesStore, countryHeadings);
>
> }
>
> });
>
> countryConfig.setEditor(new GridEditor(countryComboBox));
>
> countryConfig.setWidth(60);
>
> //
>
> ------------------------------------------------------------------------------------------------------------
>
> //Code to get update the countries store
> ………………………………………………………………………………………….-----------------------------------
>
>
> ---------------------------------------------------------------------------------------------------------------
>
>
>
> private LookupServiceAsync service = (LookupServiceAsync) GWT.create
> (LookupService.class);
>
> public void updateCountriesComboStore(final Store store, final String
> [] headings) {
>
> GWT.log("Calling getCountries() of LookupServiceImpl",
> null);
>
> service.getCountries(new AsyncCallback<String[][]>(){
>
> public void onFailure(Throwable caught) {
>
> GWT.log("Unable to retreive Countries from
> ServletContext scope", null);
>
> }
>
> public void onSuccess(String[][] result) {
>
> GWT.log("Retrieve Countries from
> ServletContext scope", null);
>
> StoreCreator.updateStore(store, headings,
> result);
>
> }
>
> });
>
> }
>
>
> //-------------------------------------------------------------------------------------------------------------
>
> // Code to update any given store object
> ----------------------------------------------------------------------
>
>
> ---------------------------------------------------------------------------------------------------------------
>
> public static void updateStore(final Store store, String[] headings,
> String[][] data)
> {
>
> if (store != null)
> {
>
> Store storeTemp = new SimpleStore(headings, data);
>
> storeTemp.reload();
>
> store.removeAll();
>
> store.add(storeTemp.getRecords());
>
> }
>
> }
>
>
>
> -----------------------------------------------------------------------------------------------------------------------------------
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"GWT-Ext Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/gwt-ext?hl=en
-~----------~----~----~----~------~----~------~--~---