向各位请教了。小弟先谢过。。
我的情况是这样的,我在form2窗口dbedit中输入数据,通过adoquery1.post提交数据,
procedure TForm2.Button3Click(Sender: TObject);
begin
   form1:=tform1.Create(application);
   form1.Show;
end;查看form1窗口查看刚才输入的内空都在dbgrid里面显示所提示的数据都能正常显示,再通过双击,打开另一个窗口form3显示dbgrid里面每一列具体细详的,但每次打开都是dbgrid里面的第一条记录。
form3窗口的dbedit显示我是用Form1.DataSource1来取得的。
代码如下,procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
   form3:=tform3.Create(application);
   form3.Show;
end;
别一种情况就是
procedure TForm2.Button3Click(Sender: TObject);
begin
   //form1:=tform1.Create(application);(把这句屏蔽了。。)
   form1.Show;
end;
查看form1窗口查看刚才输入的内空都在dbgrid里面显示所提示的数据就不会
立刻显示刚才所输入的内容,只能显示保存的内容。
但再通过双击打开另一个窗口显示显示dbgrid里面每一列具体细详的,但每次打开都是dbgrid里面所要打开指针的那条记录。现在这里面就很矛盾了,如用上这句form1:=tform1.Create(application)在查看dbgrid就立刻可以见到输入保存的内容,但查看dbgrid里面明细就失败,指针永远是第一条。
把form1:=tform1.Create(application)这句屏蔽了立刻查看到输入保存的内容就失败,就算加上这句
procedure TForm1.FormCreate(Sender: TObject);
begin
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from test');
  adoquery1.Open;
end;              也无法显示刚刚输入的内容!
但查看dbgrid里面的明细就成功,指针跟着你点击要看那条的明细了。请教各位大师该如何处理这个问题,是否还其它更好的方法呢?