0

我想在列中添加一个复选框。我正在使用 tableViewer。用户不应该能够编辑复选框。

到目前为止,谷歌没有帮助,所以我来到了这里。

我的 labelprovider 看起来像这样:

    this.tableViewer2 = new TableViewer(table1);
    this.tableViewer2.setContentProvider(new ArrayContentProvider());
    this.tableViewer2.setLabelProvider(new ITableLabelProvider() {


        @Override
        public String getColumnText(Object element, int columnIndex) {

            Platz p = (Platz) element;
            switch (columnIndex) {

            case 0:
                return p.getReihe().getReihenfolge().toString();
            case 1:
                return p.getNummer().toString();
            case 2:
                return p.getKategorie().getPreisstd().toString();

            }
            return null;
        }

    });

我想添加带有复选框的第四列,但我不知道如何。

提前致谢!

4

1 回答 1

0

ITableLableProvider 有一个方法 getColumnImage()。

只需覆盖它并返回复选框的图像。

   this.tableViewer2 = new TableViewer(table1);
   this.tableViewer2.setContentProvider(new ArrayContentProvider());
   this.tableViewer2.setLabelProvider(new ITableLabelProvider() {

    @Override
    public Image getColumnImage(Object element, int columnIndex) {
         //do magic here and return an image :)
    }

    @Override
    public String getColumnText(Object element, int columnIndex) {

        Platz p = (Platz) element;
        switch (columnIndex) {

        case 0:
            return p.getReihe().getReihenfolge().toString();
        case 1:
            return p.getNummer().toString();
        case 2:
            return p.getKategorie().getPreisstd().toString();

        }
        return null;
    }

});
于 2012-06-07T22:20:33.940 回答