我有一个包含 10,000 个项目的数据库,您可以在应用程序运行时向其中添加和删除。
我有一个最多显示 100 个项目的 ListBox,并且支持分页。
您可以对 10,000 个项目进行过滤和排序,这些项目需要立即反映在列表框中。
我有一个按钮,只要它通过过滤器,它就会随机选择一个项目。
用于此类操作的最佳集合/视图集是什么?
到目前为止,我的第一步是ObservableCollection
在我们将调用的数据库中创建所有项目MainOC
。
然后List
通过解析创建与过滤器匹配的所有项目,MainOC
我们将调用它FilteredList
。
ListCollectionView
然后根据上面的内容创建一个List
包含前 100 个项目的项目。
缺点:
ListCollectionView
每次应用排序操作时,您都必须重新创建。ListCollectionView
您必须在每次页面时重新创建。ListCollectionView
每次更改过滤器时都必须重新创建。ListCollectionView
每次添加或删除项目时,您都必须重新创建MainOC
.
我缺少更好的方法吗?
例如,我看到您可以将过滤器应用于ListCollectionView
. ListCollectionView
我应该用所有 10,000 个项目填充我的吗?但是,我怎样才能限制我ListBox
显示的项目数量呢?
我应该直接对数据库进行过滤和排序吗?我可以FilteredList
直接从数据库构建并以此为基础创建我的数据库ListCollectionView
,但这仍然具有上面列出的所有缺点。
寻找您可以提供的任何输入!