jsf - Primefaces columToggler losing effect on filters -
i have lazy datatable filters, have option of toggling columns , works fine on first time, if remove let's 3 columns , make new filter columtoggler keep's state of selection , headers of columns invisible well, values come again... sounds little weird explaining, i'll illustrate it.
so after columns selected get:
but when filtering or ordering on datatable get:
i'm declaring columntoggler following way:
<f:facet name="header"> lista de csrs <p:commandbutton id="toggler" update="@form" type="button" value="columns" style="float:right" icon="ui-icon-calculator" /> <p:columntoggler datasource="csrtable" trigger="toggler" /> </f:facet>
if other information needed omitted please tell me.
i've found answer on primefaces blog: http://blog.primefaces.org/?p=3341
i changed columtoggler to:
<p:columntoggler datasource="csrtable" trigger="toggler" > <p:ajax event="toggle" listener="#{csrbean.ontoggle}" /> </p:columntoggler>
and on bean added following:
private list<boolean> colunas; //getters , setters public void init(){ setcolunas(arrays.aslist(true, true, true, true, true, true, true, true, true, true, true)); } public void ontoggle(toggleevent e) { getcolunas().set((integer) e.getdata(), e.getvisibility() == visibility.visible); }
then added rendered state on each colum:
<p:column headertext="numero" sortby="#{csr.numero}" filterby="#{csr.numero}" rendered="#{csrbean.colunas[0]}">
and done.
Comments
Post a Comment