Delphi中DBGrid显示主从表的问题
delphi中用两个DBGrid显示一对主从表,当点击主表的DBGrid时,从表会立刻显示相关联的数据。
当单击从表DBGrid的添加按钮时,添加的数据自动设置关联字段的值
[解决办法]
"当点击主表的DBGrid时,从表会立刻显示相关联的数据"
-- 把主从表的关联字段设好就可以啦
"当单击从表DBGrid的添加按钮时,添加的数据自动设置关联字段的值"
--在从表的AfterInsert事件对从表的关联字段赋值
[解决办法]
比如2表关联的字段是id; Adoquery1,Adoquery2分别对应dbgrid1与dbgrid2
则程序启动时(比如onCreat时),打开Adoquery1:
with adoquery1 do
beign
close;
sql.text:='select * from t';
open;
end;
在ADOQuery1AfterScroll事件打开adoquery2:
with adoquery2 do
beign
close;
sql.text:='select * from t where id='+Quotedstr(dataset.fieldbyname('id').asstring);
open;
end;
添加/修改时,记得从表ID要跟着主表变化,删除时根据id先删除从表,然后主表