abrindo tela de cadastro apartir de uma consulta.

Delphi

15/01/2004

Preciso fazer o seguinte:

Faço uma consulta e apresento os dados em uma grid, sendo que quero pegar apenas um registro desta consulta, quero abrir a tela de cadastro e apresentar o registro que selecionei na tela de consulta, na tela de cadastro para que eu possa edita-lo.

Como poderia estar fazendo isto?

Obrigado.


Twbernardes

Twbernardes

Curtidas 0

Respostas

Thiago Vidal

Thiago Vidal

15/01/2004

Normalmente eu faço desse modo, mas nao tenho certeza se é o mais eficiente.

o Evento OnDblClick do Grid fica:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
with (Sender as TDBGrid).DataSource.DataSet do
  begin
  if (RecordCount > 0) then // Verifica se existe um registro atual.
    begin
    Edit;
      Form2 := TForm2.Create(Self);
      try
      if (Form2.ShowModal = mrOk) then
        Post
        else
        Cancel;
      finally
      FreeAndNil(Form2);
      end;
    end;
  end;
end;


Para isso, a clausula uses da unit do seu Form2 deve incluir a unit do seu Form1, e todos os DBControls do seu Form2 devem ter sua propriedade DataSource apontadas para o mesmo DataSource que o DBGrid, no Form1.

É bom também deixar em seu Form2, um TBitBtn com a propriedade ModalResult mrOk e outro mrCancel, podendo o usuario cancelar ou salvar as alteracoes feitas.


GOSTEI 0
Thiago Vidal

Thiago Vidal

15/01/2004

Esqueci de dizer, se voce estiver usando um SimpleDataSet ou um ClientDataSet, nao se esqueça de dar um ApplyUpdates.


GOSTEI 0
POSTAR