6
respostas

UPDATE NA DATATABLE LAZY APOS INCLUSAO NAO ATUALIZA TABELA

Após eu fazer uma inclusão de registro num painel separado, eu mando no commandbutton atualizar minha tabela lazy da pagina mas a tabela não atualiza com o registro inserido.

Percebi que se eu manda incluir outro registro, ele atualiza a pagina com o penúltimo registro inserido mas o ultimo registro nunca aparece.

Alguém poderia me orientar qual o problema e o que devo fazer?

Grato!

6 respostas

Diego poderia me dar passar o seu bean e seu html.

xhtml

Tabela de Robô(s)

managerBean

public void incluirCategoriaAutomacao() { CategoriaAutomacoesBean categoria = new CategoriaAutomacoesBean(); categoria.setCodAutomacao(automacoes); categoria.setCodArea(areaAutomacoes);

EntityManager manager = this.getEntityManager(); AutomacoesDao automacoesaDao = new AutomacoesDao(manager); automacoesaDao.incluirCategoriaAutomacao(categoria); }

e mando para o banco para incluir com o manager.merger();

Diego você tem o seu xhtml, o seu bean e o seu dao correto? poderia postar todas aqui? dentro da tag

inserir código para sair formatado.

estao funcionando normal o bean e o dao

xhtml

<h:form id="formRobostore" >
    <p:dataTable id="tabelaRobostore" widgetVar="tabelaRobostore" var="item" value="#{automacoesManager.robostoreDataModel}" emptyMessage="Não há automações" paginator="true" rows="10" lazy="true" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" style="text-align:center">

                        <f:facet name="header">
                            Tabela de Robô(s)
                        </f:facet>        

                        <p:column headerText="Tipo - Área" style="text-align:center; width:300px" filterBy="#{item.tipoArea}" filterMatchMode="contains">
                            <f:facet name="filter">
                                <p:selectOneMenu onchange="PF('tabelaRobostore').filter()" effect="fold" style="width:160px" >

                                    <f:selectItem itemLabel="Todos" itemValue="" />
                                    <f:selectItems var="item" value="#{automacoesManager.robostoreDataModel.listaAreasAutomacoes}" itemLabel="#{item.tipo} - #{item.area}" itemValue="#{item.tipo} - #{item.area}"/>                            

                                </p:selectOneMenu>
                            </f:facet>
                            <h:outputText title="#{item.codArea.tipo} - #{item.codArea.area}" value="#{item.codArea.tipo} - #{item.codArea.area}" />
                        </p:column>

                        <p:column headerText="Nome da Automação" style="text-align:center" filterBy="#{item.nomeProjeto}" filterMatchMode="contains" filterStyle="width:110px" >
                            <h:outputText title="#{item.codAutomacao.codTechflow.codSolicitacaoDemanda.nomeProjeto}" value="#{item.codAutomacao.codTechflow.codSolicitacaoDemanda.nomeProjeto}" />
                        </p:column>

                        <p:column headerText="Ação" style="text-align:center; width: 70px">

                            <p:commandButton  title="Acessar" process="@this" update="formDetalhesAutomacao" onclick="PF('dialogDetalhesAutomacao').show()" action="#{automacoesManager.buscarAreasAutomacao(item)}" immediate="true" style="width: 30px; height: 30px; margin-left: 5%;" icon="fa fa-sign-in" >
                                <f:setPropertyActionListener value="#{item}" target="#{automacoesManager.categoriaAutomacoes}" />                                    
                            </p:commandButton>

                            <p:commandButton title="Excluir" process="@form" update="TabViewRobostore:formRobostore:tabelaRobostore, TabViewRobostore:formRobostore:msgsRobostore" action="#{automacoesManager.excluirCategoriaAutomacao(item)}" onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()" immediate="true" style="width: 30px; height: 30px; margin-left: 5%; " icon="ui-icon-circle-close" />

                        </p:column>                  
                    </p:dataTable>    

<h:panelGrid width="100%" style="text-align:center; border:0px solid #000; ">                                    
                        <p:panel id="panelIncluirArea" header="Painel Incluir Área" >    

                            <h:panelGrid columns="5" cellspacing="10%" border="0" >

                                <h:outputText for="nomeProjeto"  value="Nome da Automação: *" />
                                <h:panelGrid width="100%" style="margin-left:-0.5%;" >
                                    <p:selectOneMenu label="Nome da Automação" id="nomeProjeto" value="#{automacoesManager.automacoes}" converter="automacoesConverter" effect="fold" style="width:147px">
                                        <f:selectItem itemLabel="Selecionar" itemValue="" noSelectionOption="true" />                                        
                                        <f:selectItems var="item" value="#{automacoesManager.listaAutomacoes}" itemLabel="#{item.codTechflow.codSolicitacaoDemanda.nomeProjeto}" itemValue="#{item}"/>                            
                                    </p:selectOneMenu>
                                </h:panelGrid>

                                <h:outputText for="area"  value="Área: *" />
                                <h:panelGrid width="100%" style="margin-left:-0.5%;" >
                                    <p:selectOneMenu label="Área" id="area" value="#{automacoesManager.areaAutomacoes}" converter="areaAutomacoesConverter" effect="fold" style="width:147px">
                                        <f:selectItem itemLabel="Selecionar" itemValue="" noSelectionOption="true" />                                        
                                        <f:selectItems var="item" value="#{automacoesManager.listaAreasAutomacoes}" itemLabel="#{item.tipo} - #{item.area}" itemValue="#{item}"/>                            
                                    </p:selectOneMenu>
                                </h:panelGrid>

                                <p:commandButton value="Incluir" process="@form" update="tabelaRobostore, msgsRobostore" action="#{automacoesManager.incluirCategoriaAutomacao}" onstart="PF('statusDialog').show()" oncomplete="PF('statusDialog').hide()" icon="ui-icon-circle-plus" >

                                </p:commandButton>

                            </h:panelGrid>                                        
                        </p:panel>                                    
                    </h:panelGrid>    

</h:form>

bean metodo de inclusao

public void incluirCategoriaAutomacao()
    {    
        CategoriaAutomacoesBean categoria = new CategoriaAutomacoesBean();
        categoria.setCodAutomacao(automacoes);
        categoria.setCodArea(areaAutomacoes);

        EntityManager manager = this.getEntityManager();
        AutomacoesDao automacoesaDao = new AutomacoesDao(manager);
        automacoesaDao.incluirCategoriaAutomacao(categoria);
        }

up