我将一个框架添加到vcl表单并将框架链接到该框架。在我调用框架中的函数的形式,以查看网格中的数据。功能正常。网格没有显示任何变化。框架中有另一个按钮,它调用相同的功能,当我点击它的工作。我怎么能这样做?
此代码的格式为
procedure TMainF.RefrshFramebtnClick(Sender: TObject);
var PatientHistoryFr: TPatientHistoryFr;
begin
PatientHistoryFr := TPatientHistoryFr.Create(Application);
PatientHistoryFr.RefreshGrid;
PatientHistoryFr.Free;
end;
此代码在框架中(TPatientHistoryFr是框架)
procedure TPatientHistoryFr.RefreshGrid;
begin
if HistoryQr.Active then
HistoryQr.Close;
HistoryQr.SQL.Text := 'select * from doctor';
HistoryQr.Open;
end;
不工作:
工作:
答案 0 :(得分:2)
它很简单。
FrameHistory.RefreshGrid;
这就是全部。 FrameHistory是帧上的帧。谢谢大家。
答案 1 :(得分:1)
在完全相同的程序中调用RefreshGrid后,您立即释放PatientHistoryFr。如果它被销毁,你什么时候可以展示什么呢?
答案 2 :(得分:0)
如果我明白,你想要什么。 首先,这一行:
PatientHistoryFr := TPatientHistoryFr.Create(Self);
仅创建一个框架,但框架没有父框架 - 它不可见。 添加以下行:
PatientHistoryFr.Parent := Self;
这将显示框架。然后致电
PatientHistoryFr.RefreshGrid;
祝你好运:)