2011-11-18 20 views
2

私はGWT 2.4を使用しています。私はcom.google.gwt.user.cellview.client.CellTableウィジェットを持っていますが、ウィジェットが構築された後に文字列ヘッダーを取得するプログラム的な方法を考え出すのに問題があります。私は、列がcom.google.gwt.user.cellview.client.Columnオブジェクトとヘッダが文字列であるので、...CellTableのヘッダーに関する情報をプログラムで取得するにはどうすればよいですか?

tableWidget.addColumn(column, header); 

ような列データを追加します。列またはセルテーブルオブジェクトからヘッダを取得するにはどうすればよいですか?

+0

避けてください:あなたの希望を確認するか、いくつかのCSSスタイルをオーバーライドする場合

はここにも他のポストを参照してください。あなたのプロフィールへのリンクはあなたのすべての投稿に含まれています。 – Bert

+0

タイトルとして実際の質問をした上でうまくいった! – Bert

答えて

3

:あなたは、ヘッダーの詳細な制御をしたい場合は、あなたのテーブルにあなたの列を追加するとき、多分あなたは、次のメソッドを使用することができ

public class CustomCellTable extends CellTable { 

    /* some code... */ 

    /* Method for access to header */ 
    public TableSectionElement getHeadElement() { 
      return this.getTableHeadElement(); 
    } 

    /* some code... */ 

} 
+0

私は本当にこの応答に感謝します。いくつかの背景のために、ヘッダーにアクセスする理由は、JUnitテストでウィジェットが正しく作成されていることを確認することです。私は私のコアコードでプログラム的にヘッダーにアクセスする必要はありません。余分なクラスを作ることが彼らを得る唯一の方法だとすれば、私はそこにいるが、私はそこに投げたい。 – Dave

+0

申し訳ありませんが、あなたのCellTableの中間クラスを作成する以外の方法はありません。 GWTはあまり柔軟なツールではありません(私はもはやそれを使用しません)。 – user1051870

1

com.google.gwt.user.cellview.client.CellTableのgetTableHeadElement()メソッドを使用してください。 documentationを参照してください。

あなたはこのように、カスタムクラスを作成することができる保護されたメソッドを使用するための
+2

文書によれば、あなたが提案した方法は見えない(保護されている)。だからアクセスすることは不可能です。 – Dave

0

。したがって、ヘッダー上にポインタを置いて、あなたが望むものを何でもすることができます。

public void addColumn(Column<T, ?> col, Header<?> header) 

次に、独自のヘッダーを作成するか、たとえばTextHeaderを使用します。

TextHeader textHeader = new TextHeader("headerTitle"); 
myTable.addColumn(myColumn, textHeader); 

しかし、ゴールはウィジェットが、私はそれを行うresponsibilityto GWTであることを推測正しく作成されていることを確認することである場合。私はGWTの動作をテストするという点は見ません。すでにGWTによって行われています。もちろん、あなたが見つけることができるいくつかのバグがあるかもしれません。あなたの投稿に署名look-up-gwt-celltable-header-style-s

関連する問題