2012-02-21 7 views
2

私はgetOffsetHeightとgetElement.getClientHeightに慣れています。問題は、CellTableのレンダリングされた高さを取得するためにこれらのメソッドを呼び出すタイミングを見つけることができないことです。私はアタッチハンドラ、行変更ハンドラ、およびsetRowDataをオーバーライドしようとしました。私は基本的に暗闇の中で撮影しています。GWTの専門家がいつ正確な高さを得るためにこれらの方法を呼び出すべきかを知る手助けをすることができますか?GWT CellTableのレンダリングが完了したら、その高さを取得するにはどうすればよいですか?

私はCellTableをG-Mailコンテキストガジェットに配置しようとしていますが、動的高さ機能FYIを使用してガジェットの高さを変更しています。

答えて

3

私はCellListで同様の問題がありました。負荷状態の変化を聞いて解決することができました。基本的にこのコードは、リスト/テーブルが更新されるたびに呼び出されます:

taskList.addLoadingStateChangeHandler(new LoadingStateChangeEvent.Handler() {   
      @Override 
      public void onLoadingStateChanged(LoadingStateChangeEvent event) { 
       if(event.getLoadingState() == LoadingState.LOADED) { 
         //Calculate height here 
       } 
      } 
     }); 

+2

こんにちは、私も一つであり、それは動作しませんでした –

2

あなたはscheduleDeferredを使用しようとすることができます:

Scheduler.get().scheduleDeferred(new ScheduledCommand() { 
    public void execute() { 
     //calculate height 
    } 
}); 
+1

これは私が何をすべきかであることを試みました。これはかなりのことではありませんが、ブラウザ間で約9か月間働いています〜 –

関連する問題