RichFace - DataGrid

0 respostas
R

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

Criado 3 de março de 2011
Respostas 0
Participantes 1