Dúvida no DBgrid...
12/05/2003
0
um clique na linha deste DBgrid, quero que o Form1 apareça e
mostre os dados deste cliente nos respectivos DBedits. Será que
alguém pode me ajudar? Como faço isto?
Ginosam
Posts
12/05/2003
Aborges
no evento OnDblClick da DbGrid
fazes o create do Form1
Por ex. Form1 := TForm1.create(Application);
e ligas os DBEdits do Form1 ao query do Form2.
12/05/2003
Ginosam
o programa até aonde eu falei está funcionando sem problemas,
apenas usando um Datasource e uma Table.
Segundo a sua idéia fiz isto, o restante não entendi...
Bem, isto funciona, mas o form1 não mostra o registro selecionado.
mano o que mais devo adicionar aqui?
procedure TForm2.DBGrid1DblClick(Sender: TObject);
begin
Edit1.Text:=´´; {serve para apagar a busca(digitada) que o cara fizer, }
form1.Show; {depois de fechar o form2 é claro!}
form2.Close;
end;
Cara, se você não me entendeu avise que coloco o fonte dos dois Forms
pra ajudar em alguma coisa!
T+
12/05/2003
Rosivaldo
12/05/2003
Ginosam
Bom aí está :unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Buttons, Mask, DBCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DBEdit1: TDBEdit;
Label1: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
DataSource1: TDataSource;
Table1: TTable;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
Table1CampPedidos: TStringField;
Table1CampNome: TStringField;
Table1CampEndereco: TStringField;
Table1CampCidade: TStringField;
Table1CampEstado: TStringField;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBGrid1: TDBGrid;
Edit1: TEdit;
Label6: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure FormActivate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
teste: string;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
table1.Insert;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
table1.Edit;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
table1.Cancel;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
close;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if Table1.State in [dsEdit,dsInsert] then
begin
Table1.Post;
end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if Application.MessageBox (´Deseja excluir registro ?´,´Aviso´, mb_YesNo) = IdYes then
begin
Table1.Delete;
end;
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
table1.Prior;
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
table1.Next;
end;
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
teste:= Edit1.Text;
if(pos(uppercase(Edit1.Text),uppercase(Table1campNome.Value))) <> 0 then
accept:=True
else
accept:=False;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
if teste = edit1.Text then
Table1.Filtered:=True
else
Table1.Filtered:=False;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
table1.Refresh;
end;
end.
13/05/2003
Jeancamila
a repostas que os colegas colocaram estão corretas em relação ao que vc pediu.
Basta vc ligar atraves do file/use unit/ ai vc deve escolher a unit do outro form.
agora basta vc conectar o datasource com o datasourece da outra table.
o que quero complementar, é vc utilizar no evento onclick do dbgrid deve ser feito a chama ao outro for!
Jean
13/05/2003
Jeancamila
quando disse conectar o datasource queria dizer do dbedit ao datasource da table1 do outro form.
Jea
13/05/2003
Moisesbenigno
Espero ter ajudado...
Clique aqui para fazer login e interagir na Comunidade :)