вызвать пользовательский слушатель для отмены в p: rowEditor - PullRequest
0 голосов
/ 06 июня 2011

Я пытался вызвать пользовательский прослушиватель при нажатии кнопки отмены в компоненте rowEditor простых лиц. Но я не могу найти правильный атрибут для этого.

Проблема с кнопкой отмены состоит в том, что она работает нормально, когда строка уже присутствует в dataTable, если я пытаюсь динамически добавить новую строку в dataTable и нажимаю кнопку отмены [если я думаю, что это не так обязательно], пустая строка отображается в dataTable, когда пустая строка должна быть удалена.

Не могли бы вы помочь мне?

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Попробуйте как (JSF2 + Primefaces 2.2.1) ...

            <p:column headerText="Test">
                <p:rowEditor>
                    <p:ajaxStatus oncomplete="#{yourBean.yourHandleMethod()}"></p:ajaxStatus>
                </p:rowEditor>
            </p:column>
0 голосов
/ 06 июня 2011

Боюсь, что эта функциональность недоступна из коробки. Компонент rowEditor имеет встроенную интеграцию с таблицей данных и собственными событиями и прослушивателями для редактирования одной существующей строки. Кнопка отмены компонента rowEditor обладает единственной функцией переключения выходных и входных фасетов компонентов столбца Primefaces.

Если вы хорошо разбираетесь в jQuery, вы можете взломать эту функциональность, найдя элемент DOM с помощью класса кнопки отмены jQuery('.ui-icon-close') и назначив пользовательский прослушиватель событий javascript, но это может быть проблематично в dataTable, где есть несколько строк и звучит так, как будто вы хотите удалить пустую строку, если выбрано Отмена.

Лучше всего создать кнопку «Добавить новый», которая отображает диалоговое окно с формой. Отправка через форму в диалоговом окне может добавить необходимую строку в таблицу данных.

...