Refresh problems with tr:tabel using a filter string defined in a tr_inputText ------------------------------------------------------------------------------
Key: TRINIDAD-1755 URL: https://issues.apache.org/jira/browse/TRINIDAD-1755 Project: MyFaces Trinidad Issue Type: Bug Components: Components Affects Versions: 1.2.13-core Environment: Trinidad 1.2.13, MyFaces 1.2.8, Tomahawk 1.1.9, Facelets 1.1.15, Tomcat 6.0.20 Reporter: Markus Petri In our application, we use a tr:inputText to filter the tables data using PPR. 1st problem: When the filter method of the backing bean deliveres 1-4 matches, everything works fine. But if there are more than 5 matches, I need to press the button twice to get the table re-rendered. 2nd problem: We use the rows attribute to show 10 entries each page. If the filter method deliveres more than 10 rows, I need also to click twice the "show next" link (but only the first time) to get to the next page. After the first click, I can switch the pages as purposed. Here our *.jspx (this *jspx is included into a <t:panelTabbedPane><t:panelTab> ) [...] <tr:panelCaptionGroup captionText="#{resource['label.section.filteroptions']}" inlineStyle="margin-bottom:10px;"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td><tr:inputText id="filterString" value="#{listing.filterString}" partialTriggers="cmd_reset" styleClass="filterInput" onblur="if(this.value == ''){this.value='#{resource['text.filteroptions.default']}';this.style.color = '#A0A0A0';}" onfocus="if(this.value == '#{resource['text.filteroptions.default']}'){this.value='';this.style.color = '#000000';}" onkeyup="if(event.keyCode==13)document.getElementById('tab2:listForm:cmd_filter').click();"/> </td> <td> <tr:selectOneChoice value="#{listing.filterDate}"> <f:selectItem itemLabel="#{resource['selectBox.choice.allRegistrations']}" itemValue="0"/> <f:selectItem itemLabel="#{resource['selectBox.choice.todaysRegistrations']}" itemValue="1"/> </tr:selectOneChoice> </td> <td><tr:commandButton id="cmd_filter" text="#{resource['button.filterList']}" shortDesc="#{resource['tooltip.action.filterList']}" actionListener="#{listing.filter}" partialSubmit="true" /> </td> <td><tr:commandButton id="cmd_reset" text="#{resource['button.filterReset']}" shortDesc="#{resource['tooltip.action.reset']}" blocking="true" actionListener="#{listing.reset}" partialSubmit="true"/> </td> </tr> </table> </tr:panelCaptionGroup> <tr:table binding="#{listing.table}" value="#{listing.regInfos}" var="regs" rowBandingInterval="1" rows="10" partialTriggers="::cmd_filter ::cmd_reset ::pollid" immediate="true"> <tr:column width="160" inlineStyle="vertical-align:top;" sortable="true" sortProperty="date"> <f:facet name="header"> <tr:outputText value="#{resource['table.registrations.plannedArrival']}"/> </f:facet> <tr:outputText value="#{regs.date}" id="date"> <tr:convertDateTime pattern="#{resource['pattern.dateTime']}" type="both" /> </tr:outputText> </tr:column> <tr:column width="100" inlineStyle="vertical-align:top;"> <f:facet name="header"> <tr:outputText value="#{resource['table.registrations.room']}"/> </f:facet> <tr:outputText value="#{regs.roomNumber}"/> </tr:column> [...] and the relevant part of the backing bean (using SESSION_SCOPE): /** * Process the filter action. */ public void filter(ActionEvent e) { refreshTable(); } public void refreshTable(){ initialize(); RequestContext.getCurrentInstance().addPartialTarget(getTable()); } private void initialize(){ Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth instanceof VirAuthenticationToken) { String login = ((VirAuthenticationToken)auth).getLogin(); try { setRegInfos(ServiceUtils.getOpenRegistrations(login, getDefaultSearchString().equals(getFilterString())? "" : getFilterString(),getFilterReriod())); }catch (RemoteException exc) { log.fatal("Error processing business method - Remote error - " + ServiceManager.getInstance().getServiceExceptionMessage(exc)); } } } When debugging, it shows the same values both at the first and at the second click, but as told before the table is only re-rendered after the second click. Any suggestions? Thanks in advance, Markus -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.