diff options
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java index 18efae185e..497e96c51c 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java @@ -828,6 +828,15 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler, if (!focusedRow.isAttached()) { // focused row has orphaned, can't focus focusedRow = null; + if (SELECT_MODE_SINGLE == selectMode + && selectedRowKeys.size() > 0) { + // try to focusa row currently selected and in viewport + String selectedRowKey = selectedRowKeys.iterator().next(); + if (selectedRowKey != null) { + setRowFocus(getRenderedRowByKey(selectedRowKey)); + } + } + // TODO what should happen in multiselect mode? } else { setRowFocus(getRenderedRowByKey(focusedRow.getKey())); } |