Skip to main content

PEX - Filtrar Dados por Data

Neste tópico iremos mostrar como criar uma grade de dados filtrando os dados pela data inserida em dois formulários.

Iremos retorna os dados via SQL no PEX filtrando a data utilizando dois campos com variáveis do tipo data, e ao clicar o botão a grade será carregada com os dados já filtrados.

Código PEX:

const cs_Dtinicio = '1'; cs_Dtfim = '2'; cs_grade = '3'; var locds : TLibCDS; lsSQL : string; liIdRegistro: Integer; loNovoRegistro: TJSONObject; begin lsSQL := 'select usuario,observacao,data,valortotalitens from pedido where data between '+TSTR.Aspa(FormatDateTime('dd.mm.yyyy',aoFormularios.GetJSON('1').GetDt('TEXTO')))+' and '+TSTR.Aspa(FormatDateTime('dd.mm.yyyy',aoFormularios.GetJSON('2').GetDt('TEXTO')))+' and observacao <> ''.'''; loCDS := of_CriaCDSporSQL(lsSQL); try if locds.of_TemDados() then begin loCDS.of_IniciaWhile; try loCDS.of_Primeiro; while not loCDS.of_FimDS do begin loNovoRegistro := TJSONObject.Create; loNovoRegistro // (continuação do código conforme necessidade...) loCDS.of_Proximo; end; finally loCDS.of_FinalizaWhile; end; end; finally loCDS.Free; end; end;