Dúvida - p:datatable só atualiza o primeiro row - JSF + Primefaces + MySql

0 respostas
T

Olá pessoal, estou desenvolvendo um sistema de Ordem de Serviços aqui em JSF + PrimeFaces + MySql e estou tendo o seguinte problema:
1 - tenho uma datatable do primefaces com 2 colunas : Observação que contem um outputText da observação digitada e InserirObservação que tem um inputtext da observação à ser inserida com um commandButton que joga o form no bean e executa um metodo no bean para salvar através de um objeto DAO.
2 - O problema é que só funciona para a 1° linha da datatable, funciona direitinho, mas se tentar na 2ª linha ou posterior ele só da um refresh na tela e não atualiza nada.

Se alguém puder me ajudar, ficaria muito grato.

Tairan M. Krügel

Segue o código do XHTML:

p:dataTable id="pedidosparaverificar" var="pedi" value="#{ped.pedidosparaverificar}" scrollable="true" scrollHeight="400" resizableColumns="true">  
          
           <p:column headerText="Observações" footerText="Observações" width="140">  
                    <h:outputText value="#{pedi.observacoesPedidos}" />
           </p:column>  

           <p:column headerText="Inserir Observações" footerText="Inserir Observações" width="140">  
                <h:form>
                    <p:inputTextarea value="#{ped.obse}"/> 
                    <p:commandButton value="Inserir" action="#{ped.inserirobs()}" ajax="false"> 
                        <f:setPropertyActionListener value="#{pedi.idpedidos}" target="#{ped.id}"/>  
                    </p:commandButton>
                </h:form>
            </p:column>

O código do Bean:

@ManagedBean(name = "ped")
@RequestScoped
public class pedidosBean implements Serializable{

    private pedidosDTO dto = new pedidosDTO();
    private DataModel<pedidosDTO> pedidosparaverificar;
    private String obse;
    private int id;


public DataModel<pedidosDTO> getPedidosparaverificar() throws SQLException, ClassNotFoundException, NamingException {
        pedidosDAO dao = new pedidosDAO();
        List<pedidosDTO> lista = dao.getPedidosparaverificar();
        pedidosparaverificar = new ListDataModel<pedidosDTO>(lista);
        dao = null;
             
        return pedidosparaverificar;
       }

 public void inserirobs() throws SQLException, ClassNotFoundException, NamingException {
        pedidosDAO dao = new pedidosDAO();
        dao.insereobs(getObse() , getId());
        dao = null;
        
     }
Criado 3 de agosto de 2012
Respostas 0
Participantes 1