Duvida com relação a grid

Delphi

28/09/2008

Ola.

...não sei se é aqui o local para duvidas...fiz o cadastro hj...to meio perdido...rs

Estou com problemas com grid e gostaria q alguem me ajudasse.
Problema: eu gostaria de inserir os dados direto em um grid e salva-los no banco qdo clico em um botão e tambem queria q depois de exibidos esses dados em uma consulta posteiror o sistema gravasse os registro que eu alterei clicando em outro botão...espero q tenha sido claro, o q eu quero é uma tela de cadastro e alteração, consulta e exclusão tudo direto em um grid... gostaria de um exemplo simples...


Danielcsg

Danielcsg

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

28/09/2008

olá amigo, no site da www.devmedia.com.br existem vários artigos e exemplos simples de cadastro inclusive com video-aulas... pesquisa lá blz? espero ter ajudado :wink:


GOSTEI 0
Catunda

Catunda

28/09/2008

Experimente os procedimentos abaixo:
Com essas rotinas a inclusão, alteração ou exclusão será confirmada ou cancelada imediatamente, sem ter de clicar em botão algum.

A variável flag vc pode criar como private do tipo Boolean.

Quando o cursor estiver no DBGrid a propriedade KeyPreview do Form tem de estar como False.

No DBGrid1.Options.ConfirmDelete:=false.

Se houver DBNavigator ligado ao DBGrid colocar a propriedade ConfirmDelete:=false.

Evento OnKeyDown do DBGrid:

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Chr(Key)<>#13) then exit;
if (DBGrid1.SelectedIndex+1<>DBGrid1.FieldCount) then
DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex+1
else
begin
if (DBGrid1.SelectedIndex=DBGrid1.FieldCount-1) then
begin
DBGrid1.DataSource.DataSet.Next;
if DBGrid1.DataSource.DataSet.EOF then DBGrid1.DataSource.DataSet.Append;
DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex-DBGrid1.FieldCount-1;
end;
end;
end;


Enventos do ClientDataSet ( CDS1 ):

procedure TForm1.Cds1BeforePost(DataSet: TDataSet);
begin
if MessageDlg(´Confirma os Dados?´,mtConfirmation,[mbYes,mbNo],0)<>mrYes then
begin
Cds1.CancelUpdates;
Abort;
end;
end;

procedure TForm1.Cds1AfterDelete(DataSet: TDataSet);
begin
Cds1.ApplyUpdates(0);
end;

procedure TForm1.Cds1AfterPost(DataSet: TDataSet);
begin
Cds1.ApplyUpdates(0);
Cds1.Refresh;
if flag then Cds1.Append;
flag:=false
end;

procedure TForm1.Cds1BeforeDelete(DataSet: TDataSet);
begin
if MessageDlg(´Confirma Exclusão?´,mtConfirmation,[mbOk,mbNo],0)<>mrOk then
Abort;
end;

procedure TForm1.Cds1AfterEdit(DataSet: TDataSet);
begin
if cds1.State=dsInsert then flag=true else flag:=false;
end;

Espero que ajude.


GOSTEI 0
Danielcsg

Danielcsg

28/09/2008

Valew aos dois...vou testar...


GOSTEI 0
Danielcsg

Danielcsg

28/09/2008

Então ainda não é bem isso que eu preciso...preciso um exemplo simples mas com os botões se incluir registros ´varios registros´ e no fim salvar todos de uma so vez atraves de um botão salvar...um de alterar...um de exluir...nesse estilo...

Sobre buscar no proprio forum não sei como buscar e nem pelo que buscar :<...espero q me ajudem...


GOSTEI 0
POSTAR