2013-03-13 39 views
3

我有一個CellTable與少數列和其中兩列是TextInputCells。在更新這個單元格中的值時,我會進行一次計算(例如:總計)並設置總行的值。我需要重新繪製celltable以立即顯示更新的值。我面臨的問題是,當用戶處於第一個文本單元格並輸入一個值並按下鍵盤上的選項卡時,由於單元格表被重繪,焦點將從單元格中丟失。GWT CellTable與TextInputCell - 值更改需要重繪和單元格失去焦點

如何重新繪製表格時不會失去焦點?

表結構:

ID   Description Month1    Month2 
expenseId1 Travel  10     15 
expenseId2 Food  40     50 
Subtotal     50     65 
Misc.     TextInputCell  TextInputCell 
Total     50     65 

感謝。

+0

你已經爲你的問題的解決方案?我正在與同樣的問題鬥爭,但還沒有解決方案。這兩個答案不適合我.. – eftokay83 2014-02-17 20:28:33

+0

對此有任何答案?我仍然面對這個。 – vbjain 2018-01-11 11:02:17

回答

0

計算總數後無需重繪表格。您可以在網格上調用dataProvider.refresh()方法。它會刷新你的網格。

+0

AsyncDataProvider沒有refresh() – user1864665 2013-03-13 21:33:32

+0

我在談論列表數據提供者。以下是鏈接http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/view/client/ListDataProvider.html#refresh() – 2013-03-13 21:38:55

+0

您仍然失去對輸入的關注 – 2013-05-29 11:59:58

0

你必須調用setVisibleRange()celltable

cellTable.setVisibleRangeAndClearData(cellTable.getVisibleRange(),true); 

你可以這樣做也

cellTable.setRowData(0, listOfObjs)//where listOfObjs is your changed data