CheckBoxTreeviewer在创建新的对象集时设置旧的已检查元素

时间:2016-12-21 16:12:55

标签: eclipse-rcp checked treeviewer

我使用CheckboxTreeviewer和ICheckStateListener来获取已检查的元素。如果元素被检查,那么在同一个CheckboxTreeviewer中创建一组新的对象和setInut。但是当我在CheckboxTreeviewer中放入新的对象集时,先前检查的元素未经检查。

代码 -

  chboxtv.addCheckStateListener(new ICheckStateListener() {

    @Override
    public void checkStateChanged(CheckStateChangedEvent event) {
        String child=null;
        String parent=null;
        Object obj= event.getElement();
        if(obj instanceof Children){              
            Children child=(Children)changed;                    
            childvalue=child.getChildren();
            rootvalue=child.getParent();
            List<Parent>  pList=getResult(rootvalue,childvalue);
            //Getting previously checked element.
           Object [] chek=  chboxtv.getCheckedElements();                                                  chboxtv.setInput(pList);                                
               chboxtv.expandToLevel(3);
               chboxtv.setCheckedElements(chek);
        }                
    }
});

在我的情况下,总是在新的对象集中显示先前检查过的元素值。

如何在CheckboxTreeviewer中加载新的对象集时检查以前检查过的元素。

请参阅此问题的答案

CheckboxTreeviewer previously set checked elements after reload

但我的问题仍未解决。我浪费了两天时间。

如何实现这一目标?

0 个答案:

没有答案