2012-04-06 10 views
0

Gwt CellTableはオブジェクトのみを表示できます。しかし、私は動的に列を生成する必要があります(つまり、CellTableを必要とするクラスのすべてのフィールドを事前定義することはできません)。GWT CellTable。行に沿ったテキスト

enter image description here

それともあなたは私にいくつかの他のソリューションをアドバイスすることができますことがありますし、このように「ヘッダ」として一部の行を作ります。 (テーブルには最大2000行まで入れることができるので、ページングも必要です)

+0

データオブジェクトが固定されているか、実行時に動的に取得されますか?あなたの場合の運転ポイント(UIまたはデータ)はどれですか? – questzen

+0

@questzen、列とそのデータは実行時に動的に取り出されます。データ – MyTitle

答えて

1

Celltableでは、各行を個別に定義する必要があります。あなたはShowcaeコードを見る場合は、各列は次のように追加されていることを、次を参照してください。

Column<YOURDATAOBJECT, String> nameColumn = new Column<YOURDATAOBJECT, String>(
     new TextCell()) { 
    @Override 
    public String getValue(YOURDATAOBJECT object) { 
     return object.getYOURCOLUMDATA(); 
    } 
}; 
this.addColumn(nameColumn, YOURHEADERNAME); 

だから、限り、単にあなたのコードのいずれかの時点でなどととして列を追加することが可能ですCellTableのために定義したDataProviderにデータがあります。だから、あなたが質問するのはCellTableに関係なく、CellTableのために定義したDataProviderです。

CellTableは、SimplePager経由でページングをサポートしています。

CellTableは、必要な両方の機能をサポートしていますが、それらを理解するまでには時間がかかります。あなたはそれを見ていない場合は

、現在、私の知る限りとしてCellTable

+0

ありがとうございます。しかし、あらかじめ定義されたPOJOクラスがない場合、新しい列を追加する方法を理解できません。このコードは '@Override パブリックString getValue(YOURDATAOBJECTオブジェクト){ return object.getYOURCOLUMDATA(); } get value 'クラスYOURDATAOBJECTの定義済みフィールドから値を取得します。しかし、私はこのPOJOを持っていません。なぜなら、私のカラムは常に動的なので、DBから受け取るカラム数はわかりません。 「Header1」と「Header2」はどうですか? cellTableはPOJOオブジェクトを必要とするので、この行をどのように表示できますか? – MyTitle

+0

既にListDataProviderを見ましたか? (http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/view/client/ListDataProvider.html) – Stefan

+0

YOURDATAOBJEC ...はい、私は最後のプロジェクトで使用しました。しかし、私が何を書き込むのか 'String getValue(YOURDATAOBJECTオブジェクト)'私はクラスYOURDATAOBJECを事前定義していません。表示する必要がある列の数を予測できないため、作成できません。 – MyTitle

0

のための公式のGoogleのショーケースを見てみましょうgwt celltableがあなたが望むようにヘッダー行を実行できないことを知ってください。私はGXTグリッドコントロールができると思う。

http://www.sencha.com/examples/