DeferredContentProvider的替代方法,用于支持使用SWT.VIRTUAL在表中进行过滤

在我的项目中,我有一个TableViewer ,需要显示超过100,000个项目并过滤它们。 如果没有SWT.VIRTUAL ,表格需要多秒才能显示。 但是,在尝试使用SWT.VIRTUAL时,我SWT.VIRTUAL以下问题:

正如人们通常所做的那样实现ILazyContentProvider是有问题的,因为它与TableViewer通常的过滤机制不兼容,因此我必须自己实现整个过滤机制。

在我的搜索中,我找到了DeferredContentProvider来解决这个问题。 但DeferredContentProvider仍然有许多已知的错误 ,其中一个( 146799 )肯定已经影响了我,所以我不能使用它。

我现在的问题是:我应该看看有什么好的选择,还是我自己必须以自己处理过滤的方式实现ILazyContentProvider ? 如果是这样,我有什么机会不遇到DeferredContentProvider的实现者遇到的关于刷新问题的相同问题? 有没有人有类似的经历?