Dale galera, estou com um problema bizarro aqui que nao encontro a solução.
tenho um Bean gerenciavel (SessionScoped) e uma página jsf com primefaces, a qual quero que no dataTable ao clicar no botão da linha respectiva, me traga o valor da linha… simples…
Porém ao clicar no botão pela primeira vez não me trás nada, somente na segunda vez envia o valor correto.
Vou copiar o meu bean e a commandButton para vocês conseguirem visualizar melhor.
OBrigado desde já.
pagina
<h:form id="formListUser" prependId="false">
<p:growl id="msgs" showDetail="true" showSummary="true"> </p:growl>
<br />
<p:dataTable id="userTable" var="user" value="#{userController.listUsers}" widgetVar="userList"
paginator="true" rows="20"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,40"
filteredValue="#{userController.listFilteredUsers}">
<f:facet name="header">
User List
<p:outputPanel>
<h:outputText value="Search all fields: " />
<p:inputText id="globalFilter" onkeyup="userList.filter()" style="width:150px; margin-right: 10px;" />
</p:outputPanel>
</f:facet>
<p:column id="listUserId" sortBy="#{user.id}" filterBy="#{user.id}" filterMatchMode="startsWith">
<f:facet name="header">
<h:outputText value="Id" />
</f:facet>
<h:outputText value="#{user.id}" />
</p:column>
<p:column id="listUserName" sortBy="#{user.name}" filterBy="#{user.name}" filterMatchMode="startsWith">
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{user.name}" />
</p:column>
<p:column id="listUserEmail" sortBy="#{user.email}" filterBy="#{user.email}" filterMatchMode="startsWith">
<f:facet name="header">
<h:outputText value="Email" />
</f:facet>
<h:outputText value="#{user.email}" />
</p:column>
<p:column style="width:120px">
<p:commandButton id="editUserBtn" oncomplete="editUser.show();"
icon="ui-icon-pencil" title="Edit" update=":formEditUser:displayEditUser">
<f:setPropertyActionListener value="#{user}" target="#{userController.selectedUser}" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
<p:dialog header="Edit User" widgetVar="editUser" resizable="false" id="editUserDialog">
<h:form id="formEditUser" prependId="false">
<h:panelGrid id="displayEditUser" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Name" />
<h:outputText value="#{userController.selectedUser.name}" style="font-weight:bold"/>
</h:panelGrid>
</h:form>
</p:dialog>
bean
Mojarra 2.1.6 (SNAPSHOT 20111206)
PrimeFaces 3.4.1
Glassfish 3.1.2


