Fiz um pequeno projeto que é composto por uma única tabela chamada TipoTelefone, com duas colunas (cdTipTel=código do tipo de telefone [pk] e deTipTel=descrição do tipo de telefone), cujo domínio normal seria RES-Residencial, COM-Comercial, CEL-Celular ,FAX-Fax etc).
A tela permite a exibição em um rich:dataTable de todas a linhas da tabela. Através de uma coluna com um h:commandLink é permitida a escolha de um dos elementos da lista.
Coloquei também um h:inputText e um a4j:commandButton que permitem que se filtre as linhas da tabela. Caso o campo esteja vazio é exibida a lista completa.
Quando a lista é filtrada, embora o rich:dataTable esteja exibindo apenas os itens selecionados, quando se clica no link, ele seleciona outro elemento. Troquei para o h:dataTable e o comportamento foi o mesmo.
Ou seja, caso exista uma tabela com o domínio acima ordenada pela descrição e vc mandar pesquisar por COM, no dataTable aparecerá apenas uma linha (COM|Comercial). Se vc clicar no commandLink ele irá trazer o elemento CEL|Celular.
Consultei o HTML gerado e mesmo as linhas não filtradas estão sendo exibidas.
Se não for contra as regras, posso anexar o projeto eclipse (sem os jars é claro).
As tecnologias utilizadas são: JSF 1.2, Hibernate, RichFaces, Eclipse e no meu caso Oracle.
Obrigado antecipadamente.