diff --git a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java index 4970b6d45859a4eceda2caee59ef16d1328639b3..48451729126d67fbab3225a58450321e7cacbb24 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/lightgrid/LightGrid.java @@ -1786,8 +1786,11 @@ public abstract class LightGrid extends Canvas { * * @param item the item to be shown */ - public void showItem(int item) - { + public void showItem(int item) { + showItem(item, -1); + } + + public void showItem(int item, int topOffset) { checkWidget(); updateScrollbars(); @@ -1797,6 +1800,11 @@ public abstract class LightGrid extends Canvas { return; } + if (topOffset >= 0) { + setTopIndex(Math.max(0, item - topOffset)); + return; + } + // if its visible just return if (isShown(item)) { return; @@ -2403,7 +2411,7 @@ public abstract class LightGrid extends Canvas { // if the scrollbar is visible set its values if (vScroll.getVisible()) { - int max = getItemCount(); + int max = getItemCount() + 1; int thumb = (getVisibleGridHeight() + 1) / (getItemHeight() + 1); // if possible, remember selection, if selection is too large, just