Spring4d - ObjectDataset 刷新不会从底层 IObjectList 获取记录



我正在使用Spring4d TObjectDataset和从TListBase<TObject>派生的自定义IObjectList适配器。我使用这个SOA作为基础,尽管它使用TObjectList并且我使用TCollection

我将 TObjectDataset.Datalist 属性设置为此适配器的新实例。但是,如果我将条目直接添加到底层 TCollection 中并点击 TObjectDataset.Refresh ,似乎TObjectDataset不会查询基础TCollection以获取新记录(它不会查询GetCount过程(。不过,如果我TObjectDataset.Close那么TObjectDataset.Open,将显示新记录。

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新