在我的项目中,我有一个TableViewer
,需要显示超过100,000个项目并过滤它们。如果没有SWT.VIRTUAL
,则表需要多秒才能显示。但是,在尝试使用SWT.VIRTUAL
时,我遇到以下问题:
正如通常那样实现ILazyContentProvider
是有问题的,因为它与TableViewer
中的常用过滤机制不兼容,因此我必须自己实现整个过滤机制。
在我的搜索中,我找到了应该解决问题的DeferredContentProvider
。但DeferredContentProvider
仍有许多已知的bugs,其中一个(146799)肯定已经影响了我,所以我无法使用它。
我现在的问题是:我应该看看有什么好的选择,还是我自己必须以自己处理过滤的方式实现ILazyContentProvider
?如果是这样,那么DeferredContentProvider
的实现者遇到与刷新问题有关的同样问题的机会是什么?有没有人有类似的经历?