abrindo tela de cadastro apartir de uma consulta.
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.
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
Curtidas 0
Respostas
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:
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.
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
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