0

切断された 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 ではできません。

4

1 に答える 1