Não consigo fazer o selected no p:panelGrid

0 respostas
T

Bom dia gente,

Estou usando um p:panelGrid para listar alguns produtos e queria q quando clicar no seu p:commandLink ele abrir o produto em um dialog, mas isso nao está acontecendo o meu selectedProd não está pegando o valor na var do p:panelGrid.

Segue meu codigo:

Na index.xhtml

<p:dataGrid var="dtProd" value="#{ManagerBean.listaProdutoAll}"
					columns="3" rows="9" paginator="true"
					paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="9,12,15" styleClass="gridProd">

					<p:panelGrid columns="1" cellpadding="0" cellspacing="0" styleClass="descProd">
						<p:graphicImage value="images/#{dtProd.imagem}" width="260px"
							height="200px" />
							<h:outputText value="#{dtProd.produto}" />
							<h:outputText value="#{dtProd.preco}" />

						<p:commandLink update=":frmProduto:infoProduto"
							oncomplete="Prodficha.show()">
							<h:outputText styleClass="ui-icon ui-icon-search"
								style="margin:0 auto;" />
							<f:setPropertyActionListener value="#{dtProd}"
								target="#{ManagerBean.selectedProd}" />

						</p:commandLink>
					</p:panelGrid>
				</p:dataGrid>

Meu dialog que é chamado:

<h:form id="frmProduto">
	
		<p:dialog header="Cadastro de produto" draggable="true"
			widgetVar="Prodficha" visible="false" rendered="true" closable="true"
			width="400" maximizable="false" resizable="false" modal="true">

			<p:toolbar id="tlbAcoesCadProduto">
				<p:toolbarGroup align="left">
					<p:commandButton value="Cadastrar" onclick="browser.hide()" />
					<p:commandButton value="Cancelar" onclick="Prodficha.hide()" />
				</p:toolbarGroup>
			</p:toolbar>

			<p:growl id="growl" showDetail="true" sticky="false" life="5000" />
			<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5"
				id="infoProduto">
				<h:panelGroup>
					<p:graphicImage value="images/#{ManagerBean.selectedProd.imagem}" width="260px"
									height="200px" />
					<h:outputText value="Categoria: "></h:outputText>
					<p:inputText name="categoria" id="categoria" size="20"
						value="#{ManagerBean.selectedProd.produto}" />
				</h:panelGroup>
				

			</h:panelGrid>

		</p:dialog>
		
	</h:form>

Meu ManagerBean

package control;

import java.util.ArrayList;
import java.util.List;

import persistence.ProdutoDao;
import entity.Produto;

public class ManagerBean {

	private List<Produto> listaProdutoAll;
    private List<String> images;  
    private Produto selectedProd;
	
	public ManagerBean() {
		listaProdutoAll = new ArrayList<Produto>();
		images = new ArrayList<String>();
		selectedProd = new Produto();
	}

	public List<Produto> getListaProdutoAll() {
		try {
			listaProdutoAll.clear();
			listaProdutoAll = new ProdutoDao().listaAll();
		} catch (Exception e) {
			e.printStackTrace();
		}		
		return listaProdutoAll;
	}

	public void setListaProdutoAll(List<Produto> listaProdutoAll) {
		this.listaProdutoAll = listaProdutoAll;
	}

  
    public List<String> getImages() {  
        images = new ArrayList<String>();  
        
        for(int i=1;i<=12;i++) {  
            images.add("galleria" + i + ".jpg");  
        }      	
        return images;  
    }

	public Produto getSelectedProd() {
		return selectedProd;
	}
	
	public void setSelectedProd(Produto selectedProd) {
		this.selectedProd = selectedProd;
	}


}

Obrigado.

Criado 5 de dezembro de 2012
Respostas 0
Participantes 1