在delphi中单击dbgrid某条数据怎么让另外一个dbgrid里的数据发生变化
2个回答
展开全部
你的问题似乎是主、子表问题。有两种方法:
方法一:利用delphi的“form向导”生成主、子表窗体。这种方法比较死板但效率高。
方法二:自己编程通过过滤的方式实现主、子表相同的效果。可灵活控制,但效率低些,使用于数据量不大的情况。
以下是双击的例程,和你要求的单击功能相似。
table1是主表,table2是从表,两表都有“仪器编号”字段,并对此字段建立索引。主表显示在dbgrid1中,从表显示在dbgrid2中。
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
st:string;
begin
st:=table1.fieldbyname('仪器编号').asstring;
table2.Filter:='仪器编号='+''''+st+'''';
table2.Filtered:=true;
end;
方法一:利用delphi的“form向导”生成主、子表窗体。这种方法比较死板但效率高。
方法二:自己编程通过过滤的方式实现主、子表相同的效果。可灵活控制,但效率低些,使用于数据量不大的情况。
以下是双击的例程,和你要求的单击功能相似。
table1是主表,table2是从表,两表都有“仪器编号”字段,并对此字段建立索引。主表显示在dbgrid1中,从表显示在dbgrid2中。
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
st:string;
begin
st:=table1.fieldbyname('仪器编号').asstring;
table2.Filter:='仪器编号='+''''+st+'''';
table2.Filtered:=true;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询