#java #jsf #icefaces
#java #jsf #ледяные поверхности
Вопрос:
Я использую JSF 1.1 с Icefaces 1.8.2
У меня есть таблицы данных, в которых отображаются записи моей базы данных.В настоящее время, когда пользователь желает вставить или отредактировать запись, нажимается кнопка редактировать, и форма редактирования или форма создания отображается либо внизу таблицы данных, либо на отдельной странице. В идеале я хотел бы отображать в форме редактирования или создания формы только поверх datatable в виде всплывающей панели, как в следующем URL. http://postimage.org/image/pglvdcck /
Как я могу это сделать, используя JSF или icefaces?
Любое понимание этого весьма ценно.
Спасибо
Ответ №1:
Вам нужно использовать компонент ICEfaces ice:panelPopup. Посмотрите это в демонстрационных материалах ICEfaces — Панели макета — Всплывающая панель.
Пример — добавьте это в свой исходный код (на самом деле, в любом месте страницы, даже в отдельном включенном файле):
<ice:panelPopup modal="true" visible="#{myBean.editPopupVisible}">
<ice:form>
<ice:input...> some inputs...
... Save/Cancel button
</ice:form>
</ice:panelPopup>
Комментарии:
1. Спасибо за ответ. Таким образом, элементы формы panelPopup, такие как кнопки и другие элементы, могут иметь свои собственные независимые действия? Я имею в виду, что это похоже на создание другой формы под таблицей данных? Я предполагаю, что это сработало бы в icefaces 1.8.2!
2. ДА. Я использую всплывающие панели случайно в ICEfaces 1.8.2. Это просто еще один компонент. Добавьте ice:panelPopup под таблицей, например, с ice: form внутри (если панель уже не находится внутри самой формы) и всеми теми крошечными элементами, которые вы хотите, чтобы эта панель выполняла. Затем просто вызовите его при любом действии, установив для visible значение true (в моем примере. это означало бы установку MyBean.editPopupVisible). Это должно быть легко для вас, просто оберните эту вашу форму внутри panelPopup (прочитайте в демонстрационных версиях, как использовать и настроить ее точно, если необходимо).