如何刷新 TDBGrid?

How do I refresh a TDBGrid?

我有一个名为 myDbGrid 的 TDBGrid,我想在更改数据库 (insert/update/delete) 后对其进行更新。如何在不完全重新加载表单的情况下执行此操作?

myDbGrid 使用 myDataSource 并使用 myQry 作为其数据集。

我尝试了以下但没有成功:

myDbGrid.Refresh;

myDbGrid.DataSource.DataSet.Close;
myQry.Close; // '' I think this is redundant
myQry.Open;
myDbGrid.DataSource.DataSet.Refresh;

我错过了什么?

(我会注意到 tDBGrid 中没有发生数据库更改 - 它仅用于显示)

这里唯一需要的代码是:

myDbGrid.DataSource.DataSet.Refresh; 

在此特定情况下,其他一切都是多余的。

您可以试试这个代码:

ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('select* from table_name');
ADOQuery.Open;

我正在使用 ADOQuery,所以我这样做了:

ADOQuery1.Active := False;
ADOQuery1.Active := True;