2012-09-24 29 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