Delphi com Unigui GridFilter
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
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
Curtidas 0
Melhor post
Vinicius Diniz
14/01/2018
Você pode usar filtros também se quiser.
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.
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
13/01/2018
Já tentou ?
Espero ter ajudado.
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := QuotedStr('%'+Value+'%');
Espero ter ajudado.
GOSTEI 0
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
13/01/2018
Obrigado pela ajuda Vinicius, mas ainda sim não está filtrando.
Ele só da um refresh.
Ele só da um refresh.
GOSTEI 0
Luis Eduardo
13/01/2018
Agora foi Vinicius, quebrou um galho .<br />
Obrigado pela ajuda parceiro, tudo de bom pra ti.
Obrigado pela ajuda parceiro, tudo de bom pra ti.
GOSTEI 0