Galera é seguite tenho uma lista no rich datatable:
<rich:dataTable id="tabela" width="600" rows="20" value="#{ContatoFaces.contatos}" var="item" >
>
<f:facet name="header">
</f:facet>
<h:column >
<f:facet name="header"><h:outputText value="ID"/></f:facet>
<h:outputText value="#{item.idcontato}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="NOME"/></f:facet>
<h:outputText value="#{item.nome}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="TELEFONE"/></f:facet>
<h:outputText value="#{item.telefone}" />
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="EDITAR"/></f:facet>
#COMMAND LINK POPULA O CONTATO E CHAMA A MODAL
<h:commandLink id="editar" value="Editar" >
<f:setPropertyActionListener target="#{ContatoFaces.contato}" value="#{item}" />
<rich:componentControl for="painel" attachTo="editar" operation="show" event="onclick" />
</h:commandLink>
</h:column>
<f:facet name="footer">
<rich:datascroller for="tabela" maxPages="20" ></rich:datascroller>
</f:facet>
</rich:dataTable>
MODAL QUE DEVERIA APARECER A EDIÇÃO DO CONTATO CLICADO
<rich:modalPanel id="painel">
<f:facet name="header">
<h:outputText value="EDITAR CONTATO"></h:outputText>
</f:facet>
<h:form>
<h:panelGrid columns="2" >
<h:outputText value="Codigo:"/>
<rich:inplaceInput value="#{ContatoFaces.contato.idcontato}" defaultLabel="codigo"/>
<h:outputText title="Nome:" value="Nome"/>
<rich:inplaceInput value="#{ContatoFaces.contato.nome}" defaultLabel="Digite o nome"/>
<h:outputText title="Telefone:" value=" Telefone "/>
<rich:inplaceInput value="#{ContatoFaces.contato.telefone}" defaultLabel="Telefone"/>
<h:commandButton value="Salvar" action="#{ContatoFaces.editarContato}" />
</h:panelGrid>
</h:form>
</rich:modalPanel>
POREM ELE SEMPRE APARECE O PENULTIMO CLICADO E NÃO O QUE ACABEI DE CLICAR
PS. SE AO INVES DE CHAMAR O MODAL EU CHAMAR OUTRA PAGINA COM O FORM ELE APARECE NORMAL
SE ALGUEM PUDER ME AJUDAR AGRADEÇO