Problem with rich:calendar in rich:dataTable header
michi_h Jul 11, 2008 4:01 AMHello,
I'm using a rich:dataTable to list some data and I'm using the header to filter these records (e.g. inputfields, etc.). I'm also using a rich:calendar in one of the column headers to filter dates in the dataTable. Everythings works fine until I'm rerendering the table the first time. Then the calendar stops to popup when i click on the input field. The first time it works fine.
I'm using Richfaces 3.2.1.GA
Here's the code of my table:
<h:panelGrid columns="1" styleClass="projectInformationTable"> <rich:datascroller align="center" width="100%" for="projInfoList" maxPages="20" page="#{userInformation.currentPage}" reRender="sc2" id="sc1" /> <rich:dataTable value="#{userInformation.projInformationList}" var="projInfo" id="projInfoList" styleClass="projectInformationTable" rows="15"> <f:facet name="header"> <rich:columnGroup> <rich:column> <h:outputText value="#{messages.table_user}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_project}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_phase}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_workpackage}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_task}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_date}" /> </rich:column> <rich:column> <h:outputText value="#{messages.table_spent_hours}" /> </rich:column> </rich:columnGroup> </f:facet> <rich:column filterMethod="#{userInformation.filterUser}"> <f:facet name="header"> <h:panelGrid columns="1"> <h:inputText value="#{userInformation.userFilterValue}" id="userFilterInput"> <a4j:support event="onkeyup" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" focus="userFilterInput" /> </h:inputText> <a4j:commandLink id="sortByUser" reRender="projInfoList" action="#{userInformation.sortBy('USER')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.user.surename} #{projInfo.user.givenName}" /> </rich:column> <rich:column filterMethod="#{userInformation.filterProject}"> <f:facet name="header"> <h:panelGrid columns="1"> <h:inputText value="#{userInformation.projectFilterValue}" id="projectFilterInput"> <a4j:support event="onkeyup" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" focus="projectFilterInput" /> </h:inputText> <a4j:commandLink id="sortByProject" reRender="projInfoList" action="#{userInformation.sortBy('PROJ')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.task.partOf.phase.project.projectShortDescription}" /> </rich:column> <rich:column filterMethod="#{userInformation.filterPhase}"> <f:facet name="header"> <h:panelGrid columns="1"> <h:inputText value="#{userInformation.phaseFilterValue}" id="phaseFilterInput"> <a4j:support event="onkeyup" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" focus="phaseFilterInput" /> </h:inputText> <a4j:commandLink id="sortByPhase" reRender="projInfoList" action="#{userInformation.sortBy('PHASE')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.task.partOf.phase.title}" /> </rich:column> <rich:column filterMethod="#{userInformation.filterWorkpackage}"> <f:facet name="header"> <h:panelGrid columns="1"> <h:inputText value="#{userInformation.workpackageFilterValue}" id="workpackageFilterInput"> <a4j:support event="onkeyup" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" focus="workpackageFilterInput" /> </h:inputText> <a4j:commandLink id="sortByWP" reRender="projInfoList" action="#{userInformation.sortBy('WP')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.task.partOf.description}" /> </rich:column> <rich:column filterMethod="#{userInformation.filterTask}"> <f:facet name="header"> <h:panelGrid columns="1"> <h:inputText value="#{userInformation.taskFilterValue}" id="taskFilterInput"> <a4j:support event="onkeyup" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" focus="taskFilterInput" /> </h:inputText> <a4j:commandLink id="sortByTask" reRender="projInfoList" action="#{userInformation.sortBy('TASK')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.task.description}" /> </rich:column> <rich:column filterMethod="#{userInformation.filterDate}"> <f:facet name="header"> <h:panelGrid columns="1"> <a4j:outputPanel id="startdate" layout="block"> <rich:calendar id="startDateCalendar" value="#{userInformation.startDateFilterValue}" popup="true"> <a4j:support event="onchanged" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" /> </rich:calendar> </a4j:outputPanel> <a4j:outputPanel id="enddate" layout="block"> <rich:calendar id="endDateCalendar" value="#{userInformation.endDateFilterValue}" popup="true"> <a4j:support event="onchanged" reRender="projInfoList" ignoreDupResponses="true" requestDelay="700" /> </rich:calendar> </a4j:outputPanel> <a4j:commandLink id="sortByDate" reRender="projInfoList" action="#{userInformation.sortBy('DATE')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </h:panelGrid> </f:facet> <h:outputText value="#{projInfo.date}"> <s:convertDateTime dateStyle="long" type="both" /> </h:outputText> </rich:column> <rich:column> <f:facet name="header"> <a4j:commandLink id="sortByHours" reRender="projInfoList" action="#{userInformation.sortBy('HOUR')}"> <h:outputText value="#{messages.sort}" /> </a4j:commandLink> </f:facet> <h:outputText value="#{projInfo.hours} h" /> </rich:column> </rich:dataTable> <rich:datascroller align="center" width="100%" for="projInfoList" maxPages="20" page="#{userInformation.currentPage}" reRender="sc1" id="sc2" /> </h:panelGrid>
Any idea what may be wrong or is this an bug?
Thanks in advance.