Как я могу получить высоту GWT CellTable после завершения рендеринга? - PullRequest
3 голосов
/ 22 февраля 2012

Я знаком с getOffsetHeight и getElement.getClientHeight.Проблема в том, что я не могу найти, когда вызывать эти методы, чтобы получить визуализированную высоту моего CellTable.Я попытался добавить обработчик присоединения, обработчик изменения строки и переопределение setRowData.Я в основном стреляю в темноте и задаюсь вопросом, могут ли какие-нибудь эксперты GWT помочь мне выяснить, когда вызывать эти методы, чтобы получить правильную высоту.

Я пытаюсь поместить CellTable в G-mailЗатем контекстный гаджет измените высоту гаджета, используя функцию динамической высоты, FYI.

Ответы [ 2 ]

3 голосов
/ 22 февраля 2012

У меня была похожая проблема с CellList. Мне удалось решить это, прослушивая изменения состояния нагрузки. В основном этот код вызывается каждый раз, когда список / таблица обновляется:

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

Надеюсь, это поможет.

2 голосов
/ 22 февраля 2012

Вы можете попробовать использовать scheduleDeferred :

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