Pessoal é o seguinte, estou desenvolvendo um sistema e usando o Rich Faces, porém em um outro projeto funciona normalmente o método: objetoConsulta.getDataModel().getRowData() ele pegava a linha EXATAMENTE de onde eu clicava sem a necessidade de param ou qq outra tag para mandar tais valores.
Mas neste projeto que estou fazendo ele só está pegando a primeira linha não importa qual link eu clique para editar ou excluir segue o código:
EmpresaHandler.java
public String edit(){
try{
Empresa item = (Empresa) objetoConsulta.getDataModel().getRowData();
objetoDet.setCodigo(item.getPk());
objetoDet.setDescricao(item.getDescricao());
}catch (Exception e){
addMessage(e.getMessage(), null, FacesMessage.SEVERITY_ERROR);
return WebConstantes.ERRO;
}
return WebConstantes.OK;
}
Empresa.xhtml
<ui:define name="panelDt">
<h:panelGroup id="pgList">
<rich:dataTable value="#{EmpresaBean.objetoConsulta.dataModel}" var="item"
rendered="#{not empty EmpresaBean.objetoConsulta.itemColl}"
id="dataTableItem2" width="100%"
rowClasses="oddColumn, evenColumn" rows="10"
border="0" cellspacing="2" cellpadding="3"
headerClass="headerGrid" footerClass="footerGrid">
<rich:column>
<f:facet name="header">
<h:outputText value="Descricao" />
</f:facet>
<h:outputText value="#{item.descricao}" />
</rich:column>
<rich:column width="10%" style="text-align:center;">
<f:facet name="header">
<h:outputText value="Edit" />
</f:facet>
<h:commandButton title="Editar" action="#{EmpresaBean.editar}" immediate="true">
<f:setPropertyActionListener target="#{EmpresaBean.objetoDetalhe.itemConsulta}" value="#{item}"/>
</h:commandButton>
</rich:column>
</rich:dataTable>
</h:panelGroup>
</ui:define>
No GUJ vi que tinha 2 topicos de 2009 mas ninguém postou a solução, enviar <f:param …> seria uma coisa q funfa, mas no outro peojeto está igual e funfa nativo… a versão é a 3.2 mas mesmo com a versão 3.3 ainda dá este erro.
alguém sabe? :?