delphi中dbgrid的刷新问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 03:23:44
在A窗体dbgred1中显示数据
双击后弹出B窗体,编辑、保存
如何在A窗体中同步更新呢?
为了测试
在A窗体中添加了一个按钮
并添加如下代码:

dbgrid1.DataSource.DataSet.Close;
dbgrid1.DataSource.DataSet.Open;

可测试结果是
必须要等待一两秒钟之后才能更新显示
或者连续按几下之后才能更新过来
请教一下各位
这是什么原因,该如何解决呢?
1、在A窗体dbgrid1中显示数据

2、我试过了两位所说的方法

南非黑帅的方法引发了系统进入假死状态,等一会才能恢复正常。。

xiaole_zhm的方法呢,也还是无法即时更新A窗体中dbgrid数据。。

我想说明一下就是我使用的是access的数据库
目前有数据2100多条

还会有其他什么原因吗?

看这样行不??
procedure TFormPunish.BitBtn1Click(Sender: TObject);
begin
With Query1 do
begin
close;
Sql.Clear;
SqlStr:='Select * from XXX';
Sql.Add(SqlStr);
Open;
end
end;
我用SQl的

只是A窗体已经是onshow状态,所以才这样的,
你可以在编辑B时这样写A.dbgrid1.DataSource.DataSet.Refresh;A.dbgrid1.refresh;
在B的use 中写unitA

可以试试
dbgrid1.DataSource.DataSet.Refresh
dbgrid1.Refresh