Quick Tips: Locate no ClientDataSet
Nesta quick tip veremos como usarmos o locate no ClientDataSet
Insira dois edits, um botão, um DBGrid, um ClientDataSet e um DataSource no formulário conforme imagem abaixo:
Quando clicarmos no botão localizar, iremos verificar se o sobrenome foi preenchido ou não, caso tenha sido iremos buscar pelo nome e sobrenome, caso contrário, iremos localizar apenas pelo nome.
No click do botão, insira o seguinte código:
procedure TForm1.Button1Click(Sender: TObject);
begin
//Se sobrenome não tiver sido informado
if(edtSobreNome.Text = '')then
CdsCliente.Locate('FIRST_NAME',edtNome.Text,[])
else
//Se sobre for informado, passamos dois campos para o locate
//separando a lista de fields por ";" e passando os valores em forma de array
//usando o método VarArrayOf
CdsCliente.Locate('FIRST_NAME;LAST_NAME',VarArrayOf([edtNome.Text,edtSobreNome.Text]),[]);
end;
Fiquem a vontade para criticar, tirar dúvidas e sugerir novos temas.
Abraço.
Ricardo Coelho