无法清除 RCP 中的表

问题描述

我是 RCP 的新手。我创建了一张表,并使用 TableEditor 为一些列放置标签和进度条。

但在某些情况下,我想清除表格。对于文本内容 table.removeAll();正在工作,但不清楚标签和进度条;

public void createPartControl(Composite parent) {
        toolkit = new FormToolkit(parent.getdisplay());
        compositeObj = toolkit.createComposite(parent,SWT.NONE);
        GridLayout layout = new GridLayout();
        compositeObj.setLayout(layout);

        GridData gridData = new GridData();
        gridData.verticalAlignment = GridData.FILL;
        gridData.horizontalSpan = 4;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessverticalSpace = true;
        gridData.horizontalAlignment = GridData.FILL;

        myTable = new Table(compositeObj,SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK);
        myTable .setLayoutData(gridData);

        final int[] bounds = { 30,80,100,50,70,50 };
        for (int i = 0; i < titles.length; i++) {
            TableColumn tblColumn = new TableColumn(btsTable,SWT.NONE);
            tblColumn.setText(titles[i]);
            tblColumn.setWidth(bounds[i]);
            tblColumn.setResizable(true);
            tblColumn.setMoveable(true);
            tblColumn.pack();
        }
        myTable.setHeaderVisible(true);
        myTable.setLinesVisible(true);
        
        for (int i = 0; i < receiverViewDataProvider.size(); i++) {
            items[i] = new TableItem(btsTable,SWT.NONE);
        }
       fillData();
}

表格填充方法

{
        items[cntIndex].setText(1,sID); 
        
        items[cntIndex].setText(2,sName); 

        editor[cntIndex] = new TableEditor(myTable);
        signalStrengthLabel1[selCnt] = toolkit.createLabel(myTable,sText,SWT.CENTER);
        editor[cntIndex].grabHorizontal = true;
        if (bIsAllow == true)
            editor[cntIndex].setEditor(nameLabel1[selCnt],items[cntIndex],3);
        
        
        editor[cntIndex] = new TableEditor(myTable);
        pbReverse[selCnt] = new ProgressBar(myTable,SWT.HORIZONTAL);
        pbReverse[selCnt].setMinimum(0);
        pbReverse[selCnt].setMaximum(30);
        signalStrengthLabel1[selCnt].setText("" + iLevel + "");
        pbReverse[selCnt].setSelection(iLevel);
        editor[cntIndex].grabHorizontal = editor[cntIndex].grabVertical = true;
        if (bAllow == true)
            editor[cntIndex].setEditor(pbReverse[selCnt],4);
}

尝试过

   for (int Index = 0; Index < Cnt; Index++) {
    nameLabel1[btsIndex].setText(""); 
pbReverse[selIndex].setMaximum(0);
    pbReverse[Index].setVisible(false);
    editor[Index].dispose();
}
myTable.removeAll();
      

我得到的结果低于结果但想清除整个表格

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)