actionListener inside rich:extendedDataTable not called
zjda Sep 10, 2009 10:51 PMHi, I have narrowed down my problem with the following code:
<rich:panel id="childrenTablePanel" style="vertical-align:top;margin:0px; padding:0px; height:200px;"> <a4j:form id="childrenTableForm" style="margin:0px; padding:0px; border:5px;"> <h:graphicImage value="/images/001_01.gif" > <a4j:support event="onclick" actionListener="#{childrenTable.openObjectListener}"> </a4j:support> </h:graphicImage> <rich:extendedDataTable value="#{childrenTable}" var="row" rows="6" id="childrenTable" width="100%" height="175px" selection="#{childrenTable.selection}"> <a4j:support event="onRowDblClick" actionListener="#{childrenTable.openObjectListener}"> </a4j:support> <rich:column sortable="false" width="20px"> <h:graphicImage value="#{row.icon}" > <a4j:support event="onclick" actionListener="#{childrenTable.openObjectListener}"> </a4j:support> </h:graphicImage> </rich:column> </rich:extendedDataTable> </a4j:form> </rich:panel>
The first actionListener works as expected. However, the last 2 are never called. If I double click a row or click on an image inside the table, the request is sent to the server and the following is the output from phase monitor:
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE RESTORE_VIEW 1
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE RESTORE_VIEW 1
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER RESTORE_VIEW 1
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER RESTORE_VIEW 1
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE APPLY_REQUEST_VALUES 2
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE APPLY_REQUEST_VALUES 2
PagedChildrenTableModel:walk
PagedChildrenTableModel:walk
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER APPLY_REQUEST_VALUES 2
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER APPLY_REQUEST_VALUES 2
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE PROCESS_VALIDATIONS 3
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE PROCESS_VALIDATIONS 3
PagedChildrenTableModel:walk
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER PROCESS_VALIDATIONS 3
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER PROCESS_VALIDATIONS 3
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE UPDATE_MODEL_VALUES 4
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE UPDATE_MODEL_VALUES 4
PagedChildrenTableModel:walk
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER UPDATE_MODEL_VALUES 4
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER UPDATE_MODEL_VALUES 4
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE INVOKE_APPLICATION 5
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE INVOKE_APPLICATION 5
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER INVOKE_APPLICATION 5
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER INVOKE_APPLICATION 5
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE RENDER_RESPONSE 6
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker beforePhase
INFO: BEFORE RENDER_RESPONSE 6
PagedChildrenTableModel:walk
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER RENDER_RESPONSE 6
Sep 10, 2009 7:26:14 PM org.exadel.jsf.PhaseTracker afterPhase
INFO: AFTER RENDER_RESPONSE 6
I have tried both 3.3.1GA and 3.3.2CR1 and the results were same. Any help will be appreciated.
-ZJ