Skip to main content

PEX - Preencher Grade com Informações de um Select

Neste tópico veremos como preencher uma grade com informações vindas de um SELECT, ou seja, várias linhas, utilizando PEX.

Exemplo de código

const cs_grade = '1'; // Código do formulário grade var loCDS: TLibCDS; loNovoRegistro: TJSONObject; begin loCDS := of_CriaCDSporSQL('SELECT campo1, campo2 FROM sua_tabela'); try loCDS.of_IniciaWhile; try loCDS.of_Primeiro; while not loCDS.of_FimDS do begin loNovoRegistro := TJSONObject.Create; loNovoRegistro.AddPair('CAMPO1', loCDS.FieldByName('campo1').AsString); loNovoRegistro.AddPair('CAMPO2', loCDS.FieldByName('campo2').AsString); aoFormularios.GetJSON(cs_grade).GetArray('DADOS').Add(loNovoRegistro); loCDS.of_Proximo; end; finally loCDS.of_FinalizaWhile; end; finally loCDS.Free; end; end;

No exemplo acima, o método of_CriaCDSporSQL executa o comando SELECT e retorna um dataset (TLibCDS) com os resultados. Cada linha do resultado é adicionada à grade do formulário.