Delphi com Unigui GridFilter
13/01/2018
0
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
Post mais votado
14/01/2018
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.
Vinicius Diniz
Mais Posts
14/01/2018
Vinicius Diniz
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := QuotedStr('%'+Value+'%');
Espero ter ajudado.
14/01/2018
Vinicius Diniz
DMConexao.FDCLientes.Params.ParamByName(Column.FieldName).Value := QuotedStr('%'+Value+'%'); DMConexao.FDCLientes.Close; DMConexao.FDCLientes.Open; // Ao inves do Refresh
14/01/2018
Luis Eduardo
Ele só da um refresh.
14/01/2018
Luis Eduardo
Obrigado pela ajuda parceiro, tudo de bom pra ti.
Clique aqui para fazer login e interagir na Comunidade :)