2011-04-07 102 views
1

使用Java和GWT,我有一個contentGrid自定義列定義和內容存儲。選擇一個GWT組合框項目顯示的值,而不是文本

網格的其中一列需要顯示帶有多個選項的組合框。組合框和它的內容被定義爲這樣的:

ComboBox comboBox = new ComboBox(); 
SimpleStore comboBoxStore = new SimpleStore(new String[]{"text","id"}, new String[][] { new String[] {"John", "Mike"} , new String[] {"1","2"} }); 
comboBoxStore.load(); 
comboBox.setDisplayField("text"); 
comboBox.setValueField("id"); 
comboBox.setStore(comboBoxStore); 
comboBox.setForceSelection(true); 
comboBox.setEditable(false); 

nameColumnConfig.setEditor(new GridEditor(comboBox)); 

網格然後顯示正確,雙擊nameColumnConfig顯示與正確的元素「約翰」和「邁克」組合框。

但是,當我點擊其中一個選項並點擊網格以便「更新」本身時,組合框顯示所選選項的ID而不是它的顯示字段。

我一直在尋找解決方案一段時間,我還沒有發現任何可以遠程讓我知道如何解決它或什麼原因。

我非常感謝在這個問題上的任何幫助或見解。

謝謝。

+0

我擔心這個問題可能過於具體。我搜索了一些人有類似的問題,但在JavaScript中使用gtw-ext。他們的解決方案似乎不適用於基於Java的項目。我仍然堅持這個問題... – Endo 2011-04-08 16:44:19

+0

我在extjs論壇上發現了一個線程http://www.sencha.com/forum/showthread.php?39546-FIXED-2.1-Bug-when-a-ComboBox-被使用的-AS-AN-EditorGridPanel編輯。有關商店過濾器未被清除的錯誤報告。不知道這是否是gwt框架的問題,但我會在此期間進行深入研究。 – Endo 2011-04-08 17:29:05

回答

1

而不是把類似這樣的---

comboBox.setDisplayField("text"); 
comboBox.setValueField("id"); 

你要做像

comboBox.setDisplayField("text"); 
comboBox.setValueField("text"); 

肯定,你會得到一個答案。

相關問題