Delphi com Unigui GridFilter

Delphi

13/01/2018

Boa tarde pessoal,
Estou iniciando as aplicações com UNIGUI e queria saber se alguém chegou a fazer o GridFilter (que contém na demo) usando o FireDac, estou me batendo um pouco pois no demo está com o ADO. Se alguém puder ajudar no Filter agradeço.
Tentei desta maneira mas não deu certo
procedure TframeClientes.UniDBGrid1ColumnFilter(Sender: TUniDBGrid;
const Column: TUniDBGridColumn; const Value: Variant);
begin
if DMConexao.FDCLientes.Active then
begin
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := ''''''''%''''''''+Value+''''''''%'''''''';
DMConexao.FDCLientes.Refresh;
end;
end;
Luis Eduardo

Luis Eduardo

Curtidas 0

Melhor post

Vinicius Diniz

Vinicius Diniz

14/01/2018

Você pode usar filtros também se quiser.
if DMConexao.FDCLientes.Filtered then
  begin
    DMConexao.FDCLientes.Filtered := False;
    DMConexao.FDCLientes.Filter := Column.FieldName + 'like' +  QuotedStr('%'+Value+'%');
    DMConexao.FDCLientes.Filtered := True;
  end
else
  begin
    DMConexao.FDCLientes.Filter := Column.FieldName + 'like' +  QuotedStr('%'+Value+'%');
    DMConexao.FDCLientes.Filtered := True;  
  end


Você pode usar o '=' ao invés do 'like' se preferir.
Se ainda sim optar por usar parâmetros verifique o seu tdfquery no seu datamodule, pode ser que o parametro não foi passado dentro da query.
Para conferir se ele esta criado certinha olha o object inspector no campo Params. Vê se ele está com input, ou sei lá se está do tipo que você precisa mesmo.
GOSTEI 1

Mais Respostas

Vinicius Diniz

Vinicius Diniz

13/01/2018

Já tentou ?
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := QuotedStr('%'+Value+'%');

Espero ter ajudado.
GOSTEI 0
Vinicius Diniz

Vinicius Diniz

13/01/2018

Outra sugestão !
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := QuotedStr('%'+Value+'%');
DMConexao.FDCLientes.Close;
DMConexao.FDCLientes.Open; // Ao inves do Refresh

GOSTEI 0
Luis Eduardo

Luis Eduardo

13/01/2018

Obrigado pela ajuda Vinicius, mas ainda sim não está filtrando.
Ele só da um refresh.
GOSTEI 0
Luis Eduardo

Luis Eduardo

13/01/2018

Agora foi Vinicius, quebrou um galho .<br />
Obrigado pela ajuda parceiro, tudo de bom pra ti.
GOSTEI 0
POSTAR