A
Problema ao adicionar mais de 1 item na TDataGrid
Olá, estou desenvolvendo um sistema utilizando o framework do adianti, e estou com dificuldade em adicionar ao meu TDataGrid mais de uma linha, a primeira linha que adiciono esta adicionando corretamente, porem quando limpo os campos do formulario para adicionar uma nova linha, a linha que adicionei anteriormente esta sendo substituida, por uma nova, sendo que esta passando uma nova uniqid para adicionar um novo registro.
public function onAddAddress(){
$this->subForm->setCurrentPage(1);
$data = $this->subForm->getData();
var_dump($data);
//VERIFICAR OS CAMPOS NECESSARIOS
//CARREGAR UNIQID
$uniqid = !empty($data->endereco_uniqid) ? $data->endereco_uniqid : uniqid();
$gridEndereco = [
'uniqid' => $uniqid,
'endereco_id' => $data->endereco_id,
'logradouro' => $data->logradouro,
'bairro' => $data->bairro,
'cidade' => $data->cidade,
'cep' => $data->cep,
'tipo' => $data->tipo
];
$row = $this->listEndereco->addItem((object) $gridEndereco);
$row->id = $uniqid;
TDataGrid::replaceRowById('listEndereco', $uniqid, $row);
$data->endereco_uniqid = '';
$data->endereco_id = '';
$data->logradouro = '';
$data->numero = '';
$data->complemento = '';
$data->bairro = '';
$data->estado_id = '';
$data->cidade = '';
$data->cep = '';
$data->tipo = '';
TForm::sendData('formCliente', $data, false, false);
}
Poste todo o código da classe
Você deve passar o atributo "static" para a ação onAddAddress, senão a cada endereço adicionado haverá a recarga da tela, e com isso, os dados anteriores da grid serão perdidos:
Muito obrigado, resolveu meu problema!!