0

このリンクから、著者は次のことを提案しました。

table.setWidth("100%", true);
table.setColumnWidth(nameColumn, 35.0, Unit.PCT);
table.setColumnWidth(addressColumn, 65.0, Unit.PCT);

CellTableの列幅が機能するようにしますが、私のプロジェクトでnameColumnは非常に長いテキストが含まれているため、この列はほとんどすべてのブラウザビューを占有します.明らかに列幅は機能しません.誰かがこれに光を当てることができますか?

以下のnameColumnように定義されています。

        TextColumn<Person> nameColumn = new TextColumn<Person>()
        {

            @Override
            public String getValue( Person object )
            {
                return object.getUserName();
            }
        };
4

1 に答える 1

0

次の方法を使用して、列セルにカスタム スタイルを設定できます。

nameColumn.setCellStyleNames("name-cell");

DOMセルに対して次の構造が生成されます ( 内)。

<td class="xxxxxxxx xxxxxx name-cell">
   <div style="outline:none;">Very long name ...</div>
</td>

したがってcss、必要なスタイルを設定し、セルとテキストのサイズを制限するには、次のクラスを定義する必要があります。

.name-cell {
...
}

.name-cell div {
...
}

アップデート

私はこの方法をテストし、table.setColumnWidth(私にとってはうまくいきました。これが私がそれを行う方法です:

  • UI バインダーによって作成されたテーブル

  • 列を作成する

  • テーブル幅の設定

  • テーブルに列を追加する

  • 列幅を設定する (でtable.setColumnWidth)

セルの幅を計算するときは、パディングを考慮することを忘れないでください。

使用された GWT 2.4

于 2012-06-21T16:30:14.293 に答える