0

列にチェックボックスを追加したいと思います。テーブルビューアーを使用しています。ユーザーがチェックボックスを編集できないようにする必要があります。

Google は今まで役に立たなかったので、ここに来ました。

私のラベルプロバイダは次のようになります:

    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 番目の列を追加したいのですが、方法がわかりません。

前もって感謝します!

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 に答える