Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 4.2
-
Fix Version/s: 4.3
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Any
Description
There exists already some code that aims at preserving the current pinning state of the columns in a table. However, it doesn't seem to be working, since the pinning state of all columns is reset when reloading the page, even if the 'pinningOrder' attributes of the ace:column components are associated to a session-scoped bean. This JIRA is to fix this functionality.
Issue Links
- blocks
-
ICE-11418
ace:dataTable, odd column pinning styling when returning to view
-
- Closed
-
r52109: fixed JSON parsing issue that was preventing the columns to be pinned again when reloading the page and in other cases as well
Notes:
This is what is meant when talking about preserving the column pinning order after reloading the page: if the columns of a table have a value in their 'pinningOrder' property on the server side, these columns should be pinned in such order when first loading the page or when reloading the page. The pinning order is preserved only if the app developer added some code for this purpose. The pinning order doesn't have to preserve the pinning order across reloads, just as selected rows in a table become unselected after reloading the page, unless there's a row state map object with a window or session scope.
When testing this feature, a simple session-scoped bean was created to store the 'pinningOrder' values of some columns in the columnPinning.jsf test page. The bean looks like the following code:
It was also necessary to add <ace:ajax event="pin" /> to the <ace:datatable> component in order to communicate to the server the pinned state of the client.