LookUpComboBox como puxar os dados do banco de dados

Delphi

07/02/2014

Olá Pessoal,

O que eu quero fazer é editar os dados de por exemplo os dados de um Cliente. Porém eu quero que quando eu clicar no botão todos os dados já estejam preenchidos em seus respectivos campos para o usuário somente alterar o que lhe for conveniente.

Eu já consegui desta maneira
procedure TF_FormFuncionario.btnAlterarCargoClick(Sender: TObject);
begin
  with TClientDataSet(dtsCadastrarCargo.DataSet) do
  begin
    Close;
    Params[0].AsInteger := TClientDataSet(dtsCargoLkp.DataSet).Fields[0].AsInteger;
    Open;
    Edit;
  end;
  F_FormCargoAlterar.showmodal;
end;


Porém ali eu pego um dado que foi selecionado direto de um TDBGrid, o problema é que agora eu estou tentando pegar de um TDBLookupComboBox onde só aparecem os nomes (ou seja aparece o nome dos cargos) existe alguma maneira?

Desde já Agradecido!
Edson Vilhalba

Edson Vilhalba

Curtidas 0

Respostas

Edson Vilhalba

Edson Vilhalba

07/02/2014

Só pra mostra pessoal eu estava tentando desta maneira pelo keyfield dele porém ele pega o nome que está no keyfield e não o código em si.

procedure TF_FormFuncionario.btnAlterarCargoClick(Sender: TObject);
begin
  with TClientDataSet(dtsCadastrarCargo.DataSet) do
  begin
    Close;
    Params[0].AsInteger := StrToInt(lkpCargo.KeyField);
    Open;
    Edit;
  end;
  F_FormCargoAlterar.showmodal;
end;
GOSTEI 0
Edson Vilhalba

Edson Vilhalba

07/02/2014

Resolvi galera eu estava fazendo um erro bobo eu dentro do TClientDataSet estava com o dts errado. E o codigo que eu utilizei para fazer isso caso alguem precise foi este.
procedure TF_FormFuncionario.btnAlterarCargoClick(Sender: TObject);
var
  t:Integer;
begin
  with TClientDataSet(dtsCadastrarCargo.DataSet) do
  begin
    Close;
      Params[0].AsInteger :=  lkpCargo.ListSource.DataSet.FieldByName(lkpCargo.KeyField).Value;
    Open;
    Edit;
  end;
  F_FormCargoAlterar.showmodal;
end;
GOSTEI 0
Douglas

Douglas

07/02/2014

Problema resolvido. Podem encerrar o tópico.
GOSTEI 0
POSTAR