2013-06-18 56 views
0

我有一個CellWidgetEditTextCell),我想通過代碼手動設置一個特定的值。但是當我使用下面的代碼時UI不會更新?我錯過了什麼?如何通過代碼更新單元格值?

@UiField(provided = true) 
CellWidget<String> cell; 

cell.setValue(text, true); 
cell.redraw(); 

回答

0

回答我的問題,我找到了一個解決辦法:

((EditTextCell) cell.getCell()).clearViewData(KEY_PROVIDER.getKey(text)); 
    cell.getCell().setValue(new Context(0, 0, KEY_PROVIDER.getKey(text)), cell.getElement(), text); 
    cell.setValue(text, true, true); 

不知道這是否是強制對單個cellwidget textcell更新的正確方法,但至少它作品。

0

我不是100%確定你要在這裏做什麼。您是否想要更新CellTable中的特定單元格?在這種情況下,我不確定你的解決方案是否可行。如果你只是想刷新表中的數據,那麼你應該使用DataProvider,然後改變它,UI也應該改變。如果您希望表格響應用戶事件(例如單擊某個單元格),則應該查看handling Cell events

相關問題