Я пытаюсь создать таблицу данных, которая отображает блок-интерфейс всякий раз, когда он занят, и мне это в основном удалось. Теперь он становится серым и показывает «Загрузка ...» всякий раз, когда я нажимаю любую из двух командных кнопок, сортирую таблицу данных, щелкая заголовок, или просматриваю таблицу данных. Вы можете увидеть код для него ниже.
Проблема в том, что после того, как я использовал один из commandButtons (который запускает обновление ajax для заблокированного элемента), последующие действия не запускают blockUI (пока я не обновлю страницу). Например:
- Загрузить страницу
- Щелкните заголовок с данными — блоковый интерфейс отображается до тех пор, пока таблица не закончит сортировку.
- Нажмите одну из кнопок навигации по страницам с данными — blockUI будет отображаться до тех пор, пока страница не загрузится.
- Нажмите одну из кнопок commandButton — blockUI будет отображаться до тех пор, пока не завершится прослушивание действий кнопки.
- Щелкните заголовок с данными — таблица отсортируется, но blockUI не появится.
- Нажмите одну из кнопок навигации по страницам с данными — страница загружается, но blockUI не отображается.
- Нажмите одну из командных кнопок — запустится actionListener и обновится таблица, но blockUI не появится.
- Перезагрузите страницу — все снова работает правильно
Изменение атрибута update="" commandButtons на ajax="false" приводит к тому, что сортировка/разбиение по страницам всегда отображает блок-интерфейс, но commandButtons никогда не отображает блок-интерфейс.
Любые идеи?
<div class="buttonDiv">
<p:commandButton ... update="resultsPanel" id="submitButton" ... />
...
<p:commandButton ... update="resultsPanel" id="resetScenarioButton" ... />
</div>
<p:panel header="Results Grid" id="resultsPanel">
...
<p:dataTable ... id="VAResults" ... >
...
</p:dataTable>
....
</p:panel>
<p:blockUI block="resultsPanel" trigger="submitButton, resetScenarioButton, VAResults">
Loading...
</p:blockUI>