AN
Obtendo valores da datagrid carregada
Boa tarde a todos!
Estou tentando utilizar a seguinte função
mas não está retornando nada em $objetos.
A datagrid está carregada com os dados, tudo certinho, mas não consigo obter os dados dela novamente.
Alguma ajuda?
Estou tentando utilizar a seguinte função
$objetos = $this->datagridXML->getItems();
mas não está retornando nada em $objetos.
A datagrid está carregada com os dados, tudo certinho, mas não consigo obter os dados dela novamente.
Alguma ajuda?
Em qual parte do código você está chamando a getItems?
Qualquer coisa poste o código que fica mais fácil de ajudar
Bom dia Nataniel!
No meu formulário (criado pelo studio) tenho um botão que serve para validar o XML. Ao clicar, é carregado os produtos do XML em uma datagrid. Após carregado os produtos, o usuário poderá clicar em um outro botão para cadastrar aqueles produtos que estão na datagrid.
Segue o código:
Utilizo a função visualizarXML() para visualizar os produtos do XML na datagrid, e criei uma função chamada ImportaXML2() para pegar os dados da datagrid. Porém está retornando vazio.
Muito obrigado pela força!</your>
Ao chamar importaXML2 a datagrid é zerada, pois quem adiciona os itens é a função visualizarXML, que não está sendo chamada nesse caso.
Lembre que cada ação é uma nova requisição, com isso uma nova instância da classe é criada, perdendo as informações anteriores.
Como preço é um TEntry, você vai precisar pegar essas informações através do getData, mas para isso sua grid vai ter que estar dentro de um form.
A ideia é a mesma do link abaixo:
adianti.com.br/framework_files/tutor/index.php?class=DatagridInputVi
Entendi Nataniel!
Muito obrigado!
Nataniel, estou seguindo o exemplo do tutor, e adicionei a seguinte linha logo após a inclusão do item na datagrid:
Porém, obtenho um erro. Um TMessage escrito '0' (número zero)
Adicionei o datagrid no form, conforme tinha orientado anteriormente, mas ainda não consigo acessar os dados da datagrid após visualiza-la e após editar alguns campos TEntry editáveis.
Alguma ideia?
Consegue postar o código novamente? Tente adicionar o xml do Form Designer também
Bom dia!
Depois que você me disse que eu precisaria adicionar a datagrid no form, criei tudo sem utilizar o studio.
A função visualizarXML(), serve apenas pra importar os produtos do XML para a datagrid, e então poder fazer qualquer edição que eu preciso, para depois, utilizando a função onSave(), salvar os produtos no BD.
Para adicionar os TEntry no form, eu utiizei, na função visualizarXML() o seguinte:
Após finalizar a iteração, fiz:
Porém obtenho um erro, que até o momento não descobri o porque.
Segue o código completo:
O zero está aparecendo porque você está exibindo o código da exceção ao invés da mensagem:
Realmente Nataniel. A mensagem dizia que eu já havia adicionado o campo PRECO2. Então o que fiz foi alterar o nome do campo com um contador, que é incrementado a cada iteração. Veja:
Dessa forma tenho nomes diferentes a cada iteração.
Até aí tudo bem.
Rodei, sem erros.
Mas quando fui buscar os campos, na função onSave, utilizei os seguintes comandos:
Mas é mostrado apenas os campos do formulário. Os campos de preços, que foram criados na iteração, não foram mostrados.
Segue o código completo: