2

这个问题可能听起来微不足道,但我正在努力解决这个问题,所以,如果可以,请提供帮助。所以,这里是:我使用 aCheckboxTreeViewer有一些很好的理由。我已经用谷歌搜索了一些类的用法,我目前能够检查/取消选中所选节点的所有子节点,并在使用StyledCellLabelProvider提供程序的自定义实现进行实时搜索后保留选择。到目前为止一切都很好。但是,到目前为止,在显示小部件并调用查看器的方法后,我无法以编程方式选择树查看器的一个或多个元素setInput()

因此,假设树将有 10 个主节点,节点 6 上有 5 个叶子。我的问题是如何设置第 3 个叶子的选中状态?

感谢你。

4

2 回答 2

4

您应该为树查看器使用 ICheckedStateProvider。例如:

checkboxTreeViewer.setCheckStateProvider(new TreeCheckedStatedProvider());

private class TreeCheckedStatedProvider implements ICheckStateProvider {

    @Override
    public boolean isChecked(Object element) {
        return false;
    }

    @Override
    public boolean isGrayed(Object element) {
        return false;
    }

}
于 2012-02-20T13:43:33.830 回答
0

看看这个:http ://akravets.blogspot.com/2009/08/disabling-nodes-in-checkboxtreeviewer.html ,可能会有所帮助。它可能不是您正在寻找的 100% 解决方案,但我解释了如何跳过一些节点。

于 2010-09-01T18:11:22.407 回答