Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.2.0.GA
-
Fix Version/s: 3.3
-
Component/s: ACE-Components
-
Labels:None
-
Environment:n/a
-
Assignee Priority:P1
-
Salesforce Case Reference:
Description
If you set the constantRefilter attribute to true, apply a filter, and then try to sort another column, the sorting is not applied. The column sort styling is applied, showing that the sorting event has been triggered, but the rows are not sorted.
-
Hide
- constantRefilter-sort-test.zip
- 38 kB
- Philip Breau
-
- constantRefilter-sort-test/.classpath 2 kB
- constantRefilter-sort-test/.project 1 kB
- constantRefilter-sort-test/.../.jsdtscope 0.5 kB
- constantRefilter-sort-test/.../org.eclipse.jdt.core.prefs 0.4 kB
- constantRefilter-sort-test/.../org.eclipse.wst.common.component 0.5 kB
- constantRefilter-sort-test/.../org.eclipse.wst.common.project.facet.core.prefs.xml 0.3 kB
- constantRefilter-sort-test/.../org.eclipse.wst.common.project.facet.core.xml 0.4 kB
- constantRefilter-sort-test/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- constantRefilter-sort-test/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- constantRefilter-sort-test/.../AbstractRechercheControler.class 2 kB
- constantRefilter-sort-test/.../DelegateImpl.class 0.9 kB
- constantRefilter-sort-test/.../RechercheDepartementControler.class 3 kB
- constantRefilter-sort-test/.../RechercheDepartementDelegate.class 0.3 kB
- constantRefilter-sort-test/.../Car.class 3 kB
- constantRefilter-sort-test/.../DataTableData.class 1 kB
- constantRefilter-sort-test/.../SelectableCar.class 1 kB
- constantRefilter-sort-test/.../TestBean.class 0.6 kB
- constantRefilter-sort-test/.../VehicleGenerator.class 8 kB
- constantRefilter-sort-test/.../AbstractRechercheControler.java 2 kB
- constantRefilter-sort-test/.../DelegateImpl.java 0.9 kB
- constantRefilter-sort-test/.../RechercheDepartementControler.java 2 kB
- constantRefilter-sort-test/.../RechercheDepartementDelegate.java 0.3 kB
- constantRefilter-sort-test/src/.../Car.java 3 kB
- constantRefilter-sort-test/.../DataTableData.java 2 kB
- constantRefilter-sort-test/.../SelectableCar.java 1 kB
- constantRefilter-sort-test/.../TestBean.java 1 kB
- constantRefilter-sort-test/.../VehicleGenerator.java 10 kB
- constantRefilter-sort-test/.../index.jsp 0.1 kB
- constantRefilter-sort-test/.../index.xhtml 3 kB
- constantRefilter-sort-test/.../MANIFEST.MF 0.0 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
This change appears to fix the problem:
Index: C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java
===================================================================
— C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java (revision 33876)
+++ C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java (working copy)
@@ -413,8 +413,7 @@
savedSortState.restoreState(this);
processSorting();
}
-
- if (isApplyingFilters()) {
+ else if (isApplyingFilters()) {
if (savedFilterState != null)
savedFilterState.restoreState(this);
setFilteredData(processFilters(context));
Show
Philip Breau
added a comment - This change appears to fix the problem:
Index: C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java
===================================================================
— C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java (revision 33876)
+++ C:/work/projects/icefaces-ee-3.2.0.GA/icefaces-ee/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTable.java (working copy)
@@ -413,8 +413,7 @@
savedSortState.restoreState(this);
processSorting();
}
-
if (isApplyingFilters()) {
+ else if (isApplyingFilters()) {
if (savedFilterState != null)
savedFilterState.restoreState(this);
setFilteredData(processFilters(context));
Changing the order of these operations fixes this because sorting is applied to the new filtered set rather than the old one.
Our filter processing should be improved to detect subset filter cases and process the existing subset instead of the full data set, and opt out of processing in cases where filters have not changed. I've noted this as part of other improvements considering for filtering.
Fixed in trunk and EE 3.2.GA
Revision #33988
Committed by nils.lundquist
4 minutes ago
ICE-9059- ace:dataTable changed sorting to occur after filtering so that the sorting is not applied to a filtered set that may be immediately replaced.Revision #33989
Committed by nils.lundquist
A minute ago
ICE-9059- ace:dataTable changed sorting to occur after filtering so that the sorting is not applied to a filtered set that may be immediately replaced.