Pessoal.
Acho que pode ser coisa de novato, mas…
Estou tentando carregar uma grid com richface, seam, hibernate, o sistema busca a informação legalzinho no banco, preenche a lista, mas não consigo fazer os botões funcionarem. Usei como base o exemplo da pagina http://livedemo.exadel.com/richfaces-demo/richfaces/dataTable.jsf?tab=editDataTable&cid=694279, mas acho que não soube implementa-lo.
Minha ideia era que ao apertar editar o sistema recarregasse a tela que acima do grid possui os campos, e sei que para isso preciso substituir o rich:component(‘editPanel’)}.show() so não sei o que colocar no lugar.
Sei que esse dataTableScrollerBean deveria ter sido substituido por algo, mas não sei pelo que.
Enfim estou meio perdido! rsrs
A tela
<script type="text/javascript">
var row;
</script>
<rich:contextMenu attached="false" id="menu" submitMode="ajax" oncollapse="row.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'">
<rich:menuItem value="Editar" ajaxSingle="true" actionListener="rich:component('editPanel')}.show()">
<a4j:actionparam name="id" value="{sequencialCategoria}" />
<a4j:actionparam name="row" value="{currentRow}" />
</rich:menuItem>
<rich:menuItem value="Excluir" ajaxSingle="true" oncomplete="#{rich:component('deletePanel')}.show()"
actionListener="#{dataTableScrollerBean.fetchCurrentRow}">
<a4j:actionparam name="id" value="{sequencialCategoria}" />
<a4j:actionparam name="row" value="{currentRow}" />
</rich:menuItem>
</rich:contextMenu>
<a4j:region>
<rich:dataTable value="#{categoriaAction.CarregaCategoriasGrid()}"
var="categoria" rows="20" rowKeyVar="row"
ajaxKeys="#{dataTableScrollerBean.keys}" id="table"
onRowContextMenu="if (row) row.style.backgroundColor='#{a4jSkin.tableBackgroundColor}';
this.style.backgroundColor='#F1F1F1'; row=this;
#{rich:component('menu')}.show(event,{id:'#{categoria.sequencialCategoria}', currentRow:'#{row}'});
return false;">
<f:facet name="header">
<h:outputText value="Categorias" />
</f:facet>
<rich:column>
<f:facet name="header">
<h:outputText value="Sequencial" />
</f:facet>
<h:outputText value="#{categoria.sequencialCategoria}" id="sequencial" />
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Nome da Categoria" />
</f:facet>
<h:outputText value="#{categoria.nomeCategoria}" id="nome" />
</rich:column>
<rich:column>
<f:facet name="header">
Actions
</f:facet>
<a4j:commandLink ajaxSingle="true" id="editlink"
oncomplete="#{rich:component('editPanel')}.show()">
<h:graphicImage value="/images/icons/edit.gif" style="border:0" />
<f:setPropertyActionListener value="#{category}"
target="#{dataTableScrollerBean.currentItem}" />
<f:setPropertyActionListener value="#{row}"
target="#{dataTableScrollerBean.currentRow}" />
</a4j:commandLink>
<rich:toolTip for="editlink" value="Edit" />
<a4j:commandLink ajaxSingle="true" id="deletelink"
oncomplete="#{rich:component('deletePanel')}.show()">
<h:graphicImage value="/images/icons/delete.gif" style="border:0" />
<f:setPropertyActionListener value="#{row}"
target="#{dataTableScrollerBean.currentRow}" />
</a4j:commandLink>
<rich:toolTip for="deletelink" value="Delete" />
</rich:column>
</rich:dataTable>
</a4j:region>
<rich:modalPanel id="deletePanel" autosized="true" width="200">
<f:facet name="header">
<h:outputText value="Confirma a exclusão da Categoria?"
style="padding-right:15px;" />
</f:facet>
<f:facet name="controls">
<h:panelGroup>
<h:graphicImage value="/images/modal/close.png"
styleClass="hidelink" id="hidelink2" />
<rich:componentControl for="deletePanel" attachTo="hidelink2"
operation="hide" event="onclick" />
</h:panelGroup>
</f:facet>
<h:form>
<table width="100%">
<tbody>
<tr>
<td align="center" width="50%"><a4j:commandButton value="Sim"
ajaxSingle="true" action="#{categoriaAction.Excluir}"
oncomplete="#{rich:component('deletePanel')}.hide();"
reRender="table" /></td>
<td align="center" width="50%"><a4j:commandButton
value="Cancelar"
onclick="#{rich:component('deletePanel')}.hide();return false;" />
</td>
</tr>
</tbody>
</table>
</h:form>
</rich:modalPanel>
<a4j:status onstart="#{rich:component('wait')}.show()"
onstop="#{rich:component('wait')}.hide()" />
<rich:modalPanel id="wait" autosized="true" width="200" height="120"
moveable="false" resizeable="false">
<f:facet name="header">
<h:outputText value="Processando" />
</f:facet>
<h:outputText value="Aguarde por favor..." />
</rich:modalPanel>
<rich:messages></rich:messages>
<br />
</a4j:form>
A action
@In
private CategoriaDAO categoriaDAO;
//Variaveis da tela de categoria.
private Categoria categoria;
//Variavel da tela de listagem
private List<Categoria> categorias;
public List<Categoria> CarregaCategoriasGrid()
{
Categoria categoriaSearch = new Categoria();
return categoriaDAO.pesquisar(categoriaSearch);
}
Grato,
romulor2