我有一个包含少量列的CellTable,其中两列是TextInputCells。在更新此单元格中的值时,我会进行计算(例如:total)并设置总行的值。我需要重绘单元格以立即显示更新的值。我面临的问题是,当用户位于第一个文本单元格并输入一个值并按下键盘上的tab时,由于重新绘制了单元格,因此焦点会从单元格中丢失。
重绘表时,我该怎么办才能不失去焦点?
表格结构:
ID Description Month1 Month2
expenseId1 Travel 10 15
expenseId2 Food 40 50
Subtotal 50 65
Misc. TextInputCell TextInputCell
Total 50 65
感谢。
答案 0 :(得分:0)
计算总计后无需重绘表格。您只需在网格上调用dataProvider.refresh()
方法即可。它会刷新你的网格。
答案 1 :(得分:0)
您必须在celltable
cellTable.setVisibleRangeAndClearData(cellTable.getVisibleRange(),true);
你也可以这样做
cellTable.setRowData(0, listOfObjs)
//
where listOfObjs is your changed data
答案 2 :(得分:0)
这是由于渲染周期造成的。所以不可能保存焦点。因为每个渲染周期您的视图对象都不再存在。新的 dom 元素取而代之。