diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java index 076cf810d0903c0a73e86cbd9decd4e087ef6c5a..b5af08a08080e16860fadf3bfbbc3fbb037a2fa0 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java @@ -2057,7 +2057,10 @@ public class ResultSetViewer extends Viewer } } filtersMenu.add(new Separator()); + filtersMenu.add(new OrderByAttributeAction(attribute, true)); + filtersMenu.add(new OrderByAttributeAction(attribute, false)); filtersMenu.add(ActionUtils.makeCommandContribution(site, ResultSetCommandHandler.CMD_TOGGLE_ORDER)); + filtersMenu.add(new Separator()); filtersMenu.add(new ToggleServerSideOrderingAction()); filtersMenu.add(new ShowFiltersAction(true)); } @@ -3422,6 +3425,23 @@ public class ResultSetViewer extends Viewer } } + private class OrderByAttributeAction extends Action { + private final DBDAttributeBinding attribute; + private final boolean ascending; + + public OrderByAttributeAction(DBDAttributeBinding attribute, boolean ascending) { + super("Order by " + attribute.getName() + " " + (ascending ? "ASC" : "DESC")); + this.attribute = attribute; + this.ascending = ascending; + } + + @Override + public void run() + { + toggleSortOrder(attribute, ascending, !ascending); + } + } + private class TransformComplexTypesToggleAction extends Action { TransformComplexTypesToggleAction() {