我想在一个列表视图中展示数据库的记录,但是检索需要很长时间。我可以使用RetrieveVirtualItem告诉我何时需要新的ListViewItem,添加虚拟项并开始检索;但是当数据库返回记录时,我该怎么办?在VirtualMode下,我无法更新ListView的Items集合。是否有一种方法告诉ListView重新加载项?或者我只能保持对ListViewItem的引用并填充它?如果这两种方式都不行,还有什么其他方式可以异步地在虚拟模式下填充ListView?
http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.redrawitems.aspx
如果下载需要花费很长时间,那么分批下载记录可能是值得的。另外,如果您的数据库操作很耗费资源,那么研究缓存ListItems(需要处理CacheVirtualItems事件)也是非常值得的。http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.cachevirtualitems.aspx
我希望这有所帮助。