我使用的是Spring4d TObjectDataset和从TListBase<TObject>派生的自定义IObjectList适配器。我使用this SOA作为基础,尽管它使用TObjectList,我使用TCollection。
我将TObjectDataset.Datalist属性设置为此适配器的新实例。但是,如果我将条目直接添加到基础TCollection中,然后按TObjectDataset.Refresh,则似乎TObjectDataset不会查询底层TCollection中的新记录(它不查询GetCount过程).Though,如果执行TObjectDataset.Close,则会显示新的记录。
TObjectDataset中是否有刷新条目的机制?
我想在我的自定义INotifyCollectionChanged<T>类上实现TCollection接口。IObjectList适配器将订阅更改通知,并自行更新。但也许有一种内置的方法可以做到这一点?
发布于 2017-05-21 20:06:41
将TrackChanges属性设置为True。这将导致ODS向列表中添加一个OnChanged处理程序。
如果要将项添加到列表中,但不通知适配器发生任何更改,则需要添加到适配器列表或以不同的方式解决。
P.S.:可能是TObjectDataSet.InternalRefresh缺少了一个继承的电话--试试吧。
https://stackoverflow.com/questions/44098606
复制相似问题