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:
package org.icefaces.datatable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class OrderBean implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private Integer po1;
public Integer getPo1() { return po1; }
public void setPo1(Integer po1) { this.po1 = po1; }
private Integer po2;
public Integer getPo2() { return po2; }
public void setPo2(Integer po2) { this.po2 = po2; }
private Integer po3;
public Integer getPo3() { return po3; }
public void setPo3(Integer po3) { this.po3 = po3; }
}
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.
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.