selection setter does not work (ScollableDataTable)
lschreiber Jan 14, 2008 10:46 AMHello
the example code below show how i use the scollabledatatable
i use the SimpleSelection to take the Selection from the DataTable but when i click on the ajax button the setter (setSelection) does not work.
Only the takeSelection Method was called.
can anyone help me?
<rich:panel style="padding:0" headerClass="outpanelHeader"> <f:facet name="header"> <h:outputText value="Vorgänge" id="paramnemsd" /> </f:facet> <rich:dropSupport id="dne1t" acceptedTypes="GOBPERSON" dropValue="GOBPERSON" dropListener="#{backing_gobpersonsearch.processDrop}" reRender="gopselection,planneddateearch"> </rich:dropSupport> <h:panelGrid columns="1" align="center"> <rich:scrollableDataTable rowKeyVar="rkv" frozenColCount="1" height="100px" width="700px" id="planneddateearch" rows="40" columnClasses="col" selection="#{backing_gobpersonsearch.selection}" value="#{backing_gobpersonsearch.searchedPlannedDates}" var="gpd"> <rich:column id="p2d_id" > <f:facet name="header"><h:outputText styleClass="headerText" value="ID" /></f:facet> <h:outputText value="#{gpd.p2d_id}" id="a1"/> </rich:column> <rich:column id="act_name"> <f:facet name="header"><h:outputText styleClass="headerText" value="Action" /></f:facet> <h:outputText value="#{gpd.act_name}" id="a2"/> </rich:column> <rich:column id="status"> <f:facet name="header"><h:outputText styleClass="headerText" value="status" /></f:facet> <h:outputText value="#{gpd.status}" id="a3"/> </rich:column> <rich:column id="planned_date"> <f:facet name="header"><h:outputText styleClass="headerText" value="Soll Datum" /></f:facet> <h:outputText value="#{gpd.planned_date}" id="a4"/> </rich:column> <rich:column id="next_call_date"> <f:facet name="header"><h:outputText styleClass="headerText" value="Ist Datum" /></f:facet> <h:outputText value="#{gpd.next_call_date}" id="a5"/> </rich:column> </rich:scrollableDataTable> <a4j:commandButton value="Show Current Selection" action="#{backing_gobpersonsearch.takeSelection}"/> </h:panelGrid> </rich:panel>
here is the JavaCode for setter and getter of Selection and the method takeSelection
public SimpleSelection getSelection() { return selection; } public void setSelection(SimpleSelection selection) { System.out.println("im in Selectionsetter"); this.selection = selection; } public String takeSelection() { System.out.println("im here in takeSelection"); System.out.println(getSelection().size()); getSelectedPlannedDate().clear(); Iterator<SimpleRowKey> iterator = getSelection().getKeys(); while (iterator.hasNext()){ System.out.println("Selection found"); SimpleRowKey key = iterator.next(); } System.out.println(getSelectedPlannedDate().size()); return null; }