2

画像とテキストを組み合わせたカスタムセルをレンダリングしました。次のようになります。

   class ImageTextCell extends AbstractCell<String> 

私の質問は、このセルをcelltable/datagridに追加する方法です。私はこれに疲れました。

  Column<Message, String> iconColumn = new Column<Message, String>(new ImageTextCell())
            {
        @Override
        public String getValue(Message versionStatus) {

            return ? // I dont know what to type here. How to return the ImageTextCell object           }
    };
4

2 に答える 2

11

オブジェクトの役割はCell、値をHTMLの一部に変換することです。の役割は、Column各行からその値を取得することです。たとえば、たくさんのがありMessages、それぞれが独自の行にあります。列はを取り、Messageに何Stringを渡すかを理解する必要がありCellます。

の出力はgetValueの入力に供給されますrender。の出力はrender、アプリに表示するHTMLである必要があります。

疑似コディリー、GWTがあなたのために行うことは次のとおりです。

for each Message in your table {
    pass the Message into Column.getValue and get out a String
    pass that String into Cell.render and get out some HTML
    add that HTML inside a <td> element in the table we're drawing
}

このプロセスで目的のテーブルが作成されるように、Column.getValueとCell.renderを定義する必要があります。

于 2012-06-30T14:30:12.033 に答える
0

これが私のアプリでpngフラグを表示する方法です:

  Column<IStationMini, ImageResource> flag = new Column<IStationMini, ImageResource>( new ImageResourceCell()) {
        @Override
        public ImageResource getValue(IStationMini station) {
            return FlagsTools.getFlag( station.getCountry());
        }
    };
this.addColumn( flag ) ;

「FlagsTools.getFlag()」はimageResourceを返します

于 2012-06-30T08:31:33.960 に答える