JP
Carregar Datagrid com dados gravados no TSession
Boa tarde,
Estou montando uma datagrid com o resultado de um select no banco. Inicialmente eu pego os dados através de um método static e estava enviado os resultado do select através do postData para a função onReload() e assim poder preencher o datagrid com os dados. Até o momento estava funcionando tudo normalmente, mas a quantidade de dados começou a ficar muito grande e não era mais possível passar esses dados através do postData.
Vi então que era possível salvar os dados no TSession utilizando o setData e depois pegar através do getData. Isso ajudou e muito porém agora pegando os dados da TSession a Datagrid não é mais gerada.
Alguém poderia me dar uma luz?
Um trecho do código, se precisa de mais alguma coisa eu posso fornecer.
Estou montando uma datagrid com o resultado de um select no banco. Inicialmente eu pego os dados através de um método static e estava enviado os resultado do select através do postData para a função onReload() e assim poder preencher o datagrid com os dados. Até o momento estava funcionando tudo normalmente, mas a quantidade de dados começou a ficar muito grande e não era mais possível passar esses dados através do postData.
Vi então que era possível salvar os dados no TSession utilizando o setData e depois pegar através do getData. Isso ajudou e muito porém agora pegando os dados da TSession a Datagrid não é mais gerada.
Alguém poderia me dar uma luz?
Um trecho do código, se precisa de mais alguma coisa eu posso fornecer.
- <?php
- public static function($param){
- //...resto do código
- TSession::setValue('dados_producao_refugo', $dadosExtracao);
- }
- public function onReload($param){
- //...resto do código
- $dadosProducaoRefugo = TSession::getValue('dados_producao_refugo');
- //...após isso faço a função que preenche a datagrid
- }
- ?>
A função que adiciona um item à grid é a addItem e ela precisa receber um objeto como parâmetro.
Qual o conteúdo da variável $dadosProducaoRefugo?
Boa tarde, Nataniel!
O conteúdo da variável é um array, quando faço o var_dump() dela eu consigo ver o resultado. Estou inserindo os dados na datagrid dessa forma:
Já fiz o mesmo foreach em outras páginas, mas em todas funcionam. Nessa onde pego os dados do TSession ele não preenche a datagrid.
Roda aí e posta o resultado:
Resultado do var_dump($item);
object(stdClass)#34 (6) {
["cdOperacao"]=>
string(4) "30.1"
["0"]=>
string(4) "30.1"
["dataHora"]=>
string(19) "2020-03-20 06:00:00"
["1"]=>
string(19) "2020-03-20 06:00:00"
["quant"]=>
string(6) "124.00"
["2"]=>
string(6) "124.00"
}
...
...
...
Aparentemente tudo certo. Consegue postar o código de toda classe?
Segue abaixo código da classe, talvez uma coisinha ou outra esteja um pouquinho diferente do que mostrei ali em cima porque estava mexendo nela.
Ao passar a variável $param para a função onReload acaba herdando a propriedade "static", o que faz com que a tela não seja recarregada. Faça o unset e teste novamente:
Fiz o que comentou e funcionou!!! Muito obrigado pela ajuda. :^D