2012-09-24 78 views
0

我已閱讀relevant question但我仍然無法找到我的問題的答案。我在Datagrid中的列中使用了一個SelectionCell,它顯然包含一個ListBox。但是它不提供對ListBox的直接訪問,因此當用戶選擇列表框的一個選項時,我找不到獲得選定值的方式。我意識到onBrowserEvent方法,但它返回任何東西。我需要用戶選擇的值將其保存在數據庫中。我需要大概就像代碼的行包含在以上方法:獲取SelectionCell中ListBox的選定值

SelectElement select = parent.getFirstChild().cast(); 
String newValue = options.get(select.getSelectedIndex()); 

父然而,不適用於任何自定義的方法,所以我會以有選擇的價值呢?

回答

1

它看起來你正在尋找FieldUpdater。您鏈接到的問題中的示例用法。

+0

我不認爲這是事實。 FieldUpdater爲Widget提供了新的值。即使使用Upadater,我也無法檢測到返回選定值的方法(或方法)。如果我的印象是錯誤的,我將不勝感激一個更詳細的解釋。 – arjacsoh

+0

只要單元格中的值發生變化,就應該調用FieldUpdated',並將新值和與該行相對應的對象作爲參數傳遞(想法是您將在行對象上調用相應的setter,因此名稱) :'Column'從對象中獲取值,'FieldUpdater'發信號通知新值,以便將其放入對象中(或者插入隊列中以保存[例如](http:// gwt。 google.com/samples/Showcase/Showcase.html#!CwCellSampler)) –

+0

好的,案例用FieldUpdater解決。必須使用update方法中的對象變量的set方法作爲object.setSomething(),以便更改所需的值。雖然有點狡猾,但不立即顯而易見。 – arjacsoh