2017-05-21 8 views
1

私はSpring4d TObjectDatasetを、カスタムIObjectListTListBase<TObject>から派生したアダプタで使用しています。私はthis SOAをベースに使用しましたが、それはTObjectListを使用し、私はTCollectionを使用します。Spring4d - ObjectDatasetリフレッシュで、基になるIObjectListからレコードが取得されない

このアダプタの新しいインスタンスにTObjectDataset.Datalistプロパティを設定しました。しかし、私は、基礎となるTCollectionのに直接エントリを追加し、TObjectDataset.Refreshをヒットした場合、私が、その後TObjectDataset.CloseTObjectDataset.Open、行う場合TObjectDatasetは、.Though(それはGetCount手順を照会しません)新しいレコードのための基礎となるTCollectionを照会しませんようです新しいレコードが表示されます。

TObjectDatasetにエントリを更新するメカニズムがありますか?

私のカスタムTCollectionクラスにINotifyCollectionChanged<T>インターフェイスを実装することを考えました。 IObjectListアダプタは、変更通知を購読して、それ自体を更新します。しかし、おそらくこれを行う組み込みの方法がありますか?

答えて

2

TrackChangesプロパティをTrueに設定します。これにより、ODSはOnChangedハンドラをリストに追加します。

アダプターの変更を通知しないリストにアイテムを追加する場合は、不運にもかかわらずアダプター・リストに追加するか、別の方法で解決する必要があります。

P.S .: TObjectDataSet.InternalRefreshには継承された呼び出しがありません - それを試してください。

関連する問題