protected void scrollToSelectedRow() { if (iCourses.getSelectedRow() < 0) return; Element scroll = iCoursesPanel.getElement(); com.google.gwt.dom.client.Element item = iCourses.getTable().getRowFormatter().getElement(iCourses.getSelectedRow()); if (item == null) return; int realOffset = 0; while (item != null && !item.equals(scroll)) { realOffset += item.getOffsetTop(); item = item.getOffsetParent(); } scroll.setScrollTop(realOffset - scroll.getOffsetHeight() / 2); }