0

CellTable を入力しようとしていますが、1 つの列に画像を表示したいと考えています。この画像は、1 行を除くすべての行に表示する必要があります。このようなものを追加する方法を知っている人はいますか?

4

2 に答える 2

4

これは私がしたことです:

Column column = new Column<RowObject, ImageResource>(new ImageResourceCell()) {

    @Override
    public ImageResource getValue(RowObject object) {
        if (showImageFor(object)) {
            return getImageResource();
        } else {
            return null;
        }
    }
};

cellTable.addColumn(column);

ImageResource の取得方法がわからない場合は、こちらのドキュメントを確認してください。

更新: カスタム セルを使用する場合は、セルの render メソッドで画像を描画するかどうかを決定する必要があります。

public class CustomCell extends AbstractCell<ColumnObject> {
    @Override
    public void render(Context context, ColumnObject value, SafeHtmlBuilder sb) {
        if (showImageFor(value)) {
            // Render the image
        }
    }
}

次に、次のように列をセルに追加できます。

Column column = new Column<RowObject, ColumnObject>(new CustomCell()) {
    @Override
    public ColumnObject getValue(RowObject object) {
        return getColumnObjectFrom(object);
    }
};

cellTable.add(column);
于 2012-10-30T07:32:30.447 に答える
0

ImageCell または ImageResourceCell を使用します。getValue() では、null を返す (画像は表示されません) か、URL/ImageResource を返します。

于 2012-10-29T15:45:18.517 に答える