Duvida com primefaces

0 respostas
f2pro

pessoal... eu estou tentando fazer uma simples listagem de carros que, ao clicar este fique selecionado e ao clicar em show exiba os dados
copiei o codigo do site do primefaces na parte de dataTable só adaptei algumas partes como a tradução dos campos em portugues..
mas o resultado nao saiu o mesmo, em vez de selecionar apenas 1 linha ele seleciona todas que eu clico e nao exibe os dados de nenhuma linha

segue abaixo o codigo

classe Cars
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package beans;

/**
 *
 * @author F2PRO
 */
public class Cars {
        private String modelo;
        private Integer ano;
        private String fabricante;
        private String cor;

    public Cars(String modelo, Integer ano, String fabricante, String cor) {
        this.modelo = modelo;
        this.ano = ano;
        this.fabricante = fabricante;
        this.cor = cor;
    }

    public Integer getAno() {
        return ano;
    }

    public void setAno(Integer ano) {
        this.ano = ano;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }

    public String getFabricante() {
        return fabricante;
    }

    public void setFabricante(String fabricante) {
        this.fabricante = fabricante;
    }

    public String getModelo() {
        return modelo;
    }

    public void setModelo(String modelo) {
        this.modelo = modelo;
    }
}

o controller CarBean

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mb;

import beans.Cars;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author F2PRO
 */
@ManagedBean(name="CarBean")
@RequestScoped
public class CarBean {

    /** Creates a new instance of CarBean */

    private List<Cars> cars;
    private Cars selectedCar;
    
    public CarBean() {
        cars = new ArrayList<Cars>();
        cars.add(new Cars("Hylux", 2008, "toyota", "bege"));
        cars.add(new Cars("TDM 850", 1998, "Yamaha", "dourada"));
        cars.add(new Cars("Hayabusa", 2008, "Suzuky", "azul"));
        cars.add(new Cars("Ibiza", 1990, "Ford", "prata"));
    }

    public List<Cars> getCars() {
        return cars;
    }

    public void setCars(List<Cars> cars) {
        this.cars = cars;
    }

    public Cars getSelectedCar() {
        return selectedCar;
    }

    public void setSelectedCar(Cars selectedCar) {
        this.selectedCar = selectedCar;
    }
}
e o visual carros.xhtml
<?xml version='1.0' encoding='UTF-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <link type="text/css" rel="stylesheet" href="skin.css"/>
    </h:head>

    <h:body>
        <h:form id="form">
            <p:dataTable var="car" value="#{CarBean.cars}" selection="#{CarBean.selectedCar}" selectionMode="single">
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Modelo"/>
                    </f:facet>
                    <h:outputText value="#{car.modelo}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Ano"/>
                    </f:facet>
                    <h:outputText value="#{car.ano}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Fabricante"/>
                    </f:facet>
                    <h:outputText value="#{car.fabricante}"/>
                </p:column>

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Cor"/>
                    </f:facet>
                    <h:outputText value="#{car.cor}"/>
                </p:column>

                <f:facet name="footer">
                    <p:commandButton value="View" image="ui-icon ui-icon-search"
                            update="carDialog" oncomplete="carDialog.show()"/>
                </f:facet>
            </p:dataTable>

            <p:dialog header="Detalhes do carro" widgetVar="carDialog" resizable="false"
                      width="200" showEffect="clip" hideEffect="fold">

                <h:panelGrid id="display" columns="2">

                    <h:outputText value="Model:" />
                    <h:outputText value="#{CarBean.selectedCar.modelo}" />

                    <h:outputText value="Year:" />
                    <h:outputText value="#{CarBean.selectedCar.ano}" />

                    <h:outputText value="Manufacturer:" />
                    <h:outputText value="#{CarBean.selectedCar.fabricante}" />

                    <h:outputText value="Color:" />
                    <h:outputText value="#{CarBean.selectedCar.cor}" />
                </h:panelGrid>
            </p:dialog>

        </h:form>
    </h:body>
</html>

o que há de errado?
[]'s

Criado 12 de janeiro de 2011
Respostas 0
Participantes 1