reRender problem
jeje47 Sep 3, 2007 10:48 AMHi, I am struggeling with the rerendering of a datatable in a modalPanel. I have a list of user groups and a commandbouton which opens a modalPanel which contains all the groups not already added to the user.
I would like to update the list in the modal panel each time I add groups but the list is always the same. I wonder if you can say to me what I'm doing wrong.
Thanks and sorry for my english.
PS: "mainForm" in the reRender tag is my unique form that contains all my forms
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:r="http://richfaces.ajax4jsf.org/rich" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:a="https://ajax4jsf.dev.java.net/ajax" xmlns:ui="http://java.sun.com/jsf/facelets"> <r:tabPanel id="userPanel" height="80%" width="100%" styleClass="tabPanel" rendered="#{(managedUser != null) && (administrationPage == true)}"> <r:tab label="#{messages['userform.preferences']}" styleClass="tab"> some content... </r:tab> <r:tab label="#{messages['userform.groups']}" styleClass="tab"> <!-- The user groups datatable --> <div class="usersDataTable"> <r:panel styleClass="usersDataTablePanel"> <h:dataTable rendered="#{managedUser.groups != null}" id="userGroupTable" value="#{managedUser.groups}" binding="#{userManager.groupList.targetList}" var="group" width="100%" border="0"> <h:column> <h:selectBooleanCheckbox rendered="#{!managedUser.readOnly && s:hasRole('MANAGE_USERS')}" binding="#{userManager.groupList.checkboxTargetList}" /> </h:column> <h:column> <h:graphicImage value="img/groups/group24.png" /> </h:column> <h:column>#{group.name}</h:column> <h:column>#{group.description}</h:column> </h:dataTable> <h:outputText value="#{messages['userform.noUserGroup']}" rendered="#{empty managedUser.groups}" /> </r:panel> </div> <!-- The buttons to add and delete groups to the user --> <div class="usersDataTableButtons"> <div class="usersDataTableButtonAdd"> <a:commandButton rendered="#{!managedUser.readOnly && s:hasRole('MANAGE_USERS')}" style="filter:alpha(opacity=20);-moz-opacity:0.8" onmouseover="rendrevisible(this,0)" onmouseout="rendrevisible(this,1)" image="img/fonctional/add.button.list32.png" onclick="javascript:Richfaces.showModalPanel('mp',{width:450, top:200})"> </a:commandButton> </div> <div class="usersDataTableButtonDelete"> <a:commandButton rendered="#{!managedUser.readOnly && s:hasRole('MANAGE_USERS')}" style="filter:alpha(opacity=20);-moz-opacity:0.8" onmouseover="rendrevisible(this,0)" onmouseout="rendrevisible(this,1)" image="img/fonctional/delete.button.list32.png" action="#{userManager.deleteUserGroups}" reRender="mainForm" /> </div> </div> <!-- The modal window opened when we want to add groups to the user --> <r:modalPanel id="mp" minHeight="300" minWidth="450" height="300" width="500" zindex="2000" rendered="#{(managedUser != null) && (administrationPage == true)}"> <f:facet name="header"> <h:outputText value="#{messages['userform.addGroups']}" /> </f:facet> <f:facet name="controls"> <h:graphicImage value="img/fonctional/close14.png" class="usersModalPanelClose" onclick="Richfaces.hideModalPanel('mp')" /> </f:facet> <h:outputText value="#{managedUser.login}"/> <!-- The groups that can be added to the user --> I cannot <r:panel styleClass="usersModalPanel"> reRender this list --> <h:dataTable id="allGroupsTable" value="#{userManager.allGroups}" binding="#{userManager.groupList.sourceList}" var="group" width="90%" height="100%" border="0"> <h:column> <h:selectBooleanCheckbox binding="#{userManager.groupList.checkboxSourceList}" /> </h:column> <h:column> <h:graphicImage value="img/groups/group24.png" /> </h:column> <h:column>#{group.name}</h:column> <h:column>#{group.description}</h:column> </h:dataTable> <h:outputText value="#{messages['userform.allGroupAlreadyAdded']}" rendered="#{userManager.allGroupsSize == 0}" /> </r:panel> <!-- The buttons to perform or cancel the add --> <div class="usersModalPanelButtons"> <a:commandButton value="Cancel" onclick="Richfaces.hideModalPanel('mp')" reRender="mainForm" styleClass="usersModalPanelButton" /> <a:commandButton value="OK" action="#{userManager.addUserGroups}" reRender="mainForm" onclick="Richfaces.hideModalPanel('mp')" styleClass="usersModalPanelButton" /> </div> </r:modalPanel> </r:tab> </r:tabPanel> </ui:composition>