切断された ClientDataset があります (ツールバーからコンポーネントをドラッグし、右クリックして、コンテキスト メニューで [データセットの作成...] を選択しました)。これにはプロバイダーがありません。次のように、データベースからいくつかのレコードをロードします。
someProvider.Dataset = someQuery;
someQuery.Open;
data:= someProvider.GetRecords(-1,recordsextracted,ResetOption+MetaDataOption);
if not cdsMyClientDataset.Active then
begin
cdsMyClientDataset.Open;
end;
cdsMyClientDataset.EmptyDataSet;
cdsMyClientDataset.AppendData(data,False);
クライアント データセットはデータソースで DbGrid にバインドされ、ユーザーがレコードを追加、削除、または編集できるようにします。彼が望むなら、もう一度リロードして変更を破棄することができます。私は上記のコードをもう一度呼び出します。
しかし、上記のコードの 2 回目の呼び出しの後、DbGrid は機能しません。ユーザーはどのフィールドもスクロールまたは編集できません。プログラムでレコードをナビゲートして編集することはできますが、DbGrid ではできません。