Legacy reports (not Sun/Oracle Report Builder ones) don't sort by the grouping columns.
Commit message is explanatory; shout if you have other question. Please apply to libreoffice-3-5 branch. -- Lionel
>From 9fd39a5047a7735c2532787de8f98423eae9da06 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane <[email protected]> Date: Wed, 6 Jun 2012 14:22:45 +0200 Subject: [PATCH] fdo#48018 legacy reports do not sort by group columns Legacy report means done with the "old" report system, as opposed to with report builder. This was caused by a misguided attempt to sort-of work around i#110536 instead of fixing it cleanly. Revert that. Apparently the idea was to not explicitly set grouping columns as sorting columns, but that the report execution would automagically add grouping columns at begin of sorting list at report execution time. That's a bad idea for at least two reasons: * This does not allow the user to chose ASC/DESC for grouping columns * In rare / advanced cases, sorting on another column *before* grouping is desirable. Plus, the "automagic adding" part apparently wasn't implemented anyway. Change-Id: I81e76eb4b6a0e543571a4df97d0ead77f6a2d7c8 --- .../com/sun/star/wizards/ui/SortingComponent.java | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) diff --git a/wizards/com/sun/star/wizards/ui/SortingComponent.java b/wizards/com/sun/star/wizards/ui/SortingComponent.java index e24ef33..6c50c9b 100644 --- a/wizards/com/sun/star/wizards/ui/SortingComponent.java +++ b/wizards/com/sun/star/wizards/ui/SortingComponent.java @@ -258,13 +258,10 @@ public class SortingComponent ArrayList<String> SortDescriptions = new ArrayList<String>(); for (int i = 0; i <= MaxSortIndex; i++) { - if (!((Boolean) CurUnoDialog.getControlProperty("lstSort" + (i + 1), PropertyNames.READ_ONLY))) - { - CurFieldName = xSortListBox[i].getSelectedItem(); - SortDescriptions.add(CurFieldName); - iCurState = ((Short) CurUnoDialog.getControlProperty("optAscend" + Integer.toString(i + 1), PropertyNames.PROPERTY_STATE)).shortValue(); - SortFieldNames.add(new String[]{CurFieldName,iCurState == 1 ? PropertyNames.ASC :"DESC" }); - } + CurFieldName = xSortListBox[i].getSelectedItem(); + SortDescriptions.add(CurFieldName); + iCurState = ((Short) CurUnoDialog.getControlProperty("optAscend" + Integer.toString(i + 1), PropertyNames.PROPERTY_STATE)).shortValue(); + SortFieldNames.add(new String[]{CurFieldName,iCurState == 1 ? PropertyNames.ASC :"DESC" }); } // When searching for a duplicate entry we can neglect whether the entries are to be sorted ascending or descending // TODO for the future we should deliver a messagebox when two different sorting modes have been applied to one field -- 1.7.7.3
_______________________________________________ LibreOffice mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice
