DBedit和DBGrid 同步输入问题。(100分)

  • 主题发起人 主题发起人 倒数第一
  • 开始时间 开始时间

倒数第一

Unregistered / Unconfirmed
GUEST, unregistred user!
在父窗体中设置了以下代码:
ADOquery1.Append;
frmcprkzj:=Tfrmcprkzj.Create(application);
if frmcprkzj.ShowModal<>mrok then ADOquery1.Cancel;
frmcprkzj.Free

在frmcprkzj窗口中的DBedit控件是在父窗口中的ADOquery中拖出来的。DBGrid和DBedit两者的datasouce都指向的是同一个datasource。

在打开frmcprkzj这个窗口的时候,DBedit框内一直显示着DBgrid控件里的第一条数据内容,这样就无法实现DBedit和DBGrid 同步输入。

这是为什么?
 
不大明白LZ说的意思。
 
你的问题是混合了两个form的事件,adoquery1.append 只呢能在本窗口没有失去焦点时有效,再在下面 adoquery1.cancel 是没有意义的,你可以在frmcprkzj 的create 里面加一个
adoquery1.append ,或者给frmcprkzj 加一个init 过程,传递 query变量地址,然后操作.
frmcprkzj.init(adoquery1);

function init(var AAQry:TAdoQuery);
begin
FAQry := ^AAqry;
end;

在子窗口直接操作 FAqry^ 就可以了
 
谢谢,虽然问题已经解决。
 
后退
顶部