1

我将 Spring4dTObjectDatasetIObjectListTListBase<TObject>. 我使用这个 SOA作为基础,尽管它使用 aTObjectList而我使用TCollection.

我将该TObjectDataset.Datalist属性设置为此适配器的一个新实例。但是,如果我将条目直接添加到底层 TCollection中,然后点击TObjectDataset.Refresh,似乎TObjectDataset不会查询底层TCollection的新记录(它不会查询GetCount过程)。但是,如果我这样做,TObjectDataset.Close则会TObjectDataset.Open显示新记录。

是否有TObjectDataset刷新条目的机制?

我想在我的自定义类上实现INotifyCollectionChanged<T>接口。TCollection适配器将IObjectList订阅更改通知,更新自身。但也许有一种内置的方法可以做到这一点?

4

1 回答 1

2

TrackChanges属性设置为True。这会导致 ODS 将 OnChanged 处理程序添加到列表中。

如果您将项目添加到列表中,但您不走运并且需要添加到适配器列表或以不同方式解决它,但该列表不会通知适配器的任何更改。

PS:可能TObjectDataSet.InternalRefresh是缺少一个继承的调用 - 试试看。

于 2017-05-21T20:06:41.100 回答