2013-09-26 2 views
0

Im с использованием JSF 2.1 с PrimeFaces. У меня есть <p:dataTable/> с включенным выбором. Все работает как ожидалось, но мне нужно, чтобы он менял выбор в моем ManagedBean, когда я нажимаю его правой кнопкой мыши!Обновить выбор с помощью правого щелчка на PrimeFaces DataTable

Я использую:

<p:ajax event="rowSelect" update=":MyComponent"/> 

и она работает. Он обновляет мои компоненты и все, но он не меняет selectedEntity в bean-компоненте.

Я стараюсь использовать <p:ajax event="rowSelect" update="@this"/>, но это не сработает. Я думаю, что он просто установил объект в null, так что ... мой вопрос:

Что я могу сделать, чтобы установить selectedRow в bean-компоненте, когда я нажимаю правой кнопкой мыши на DataTable PrimeFaces? Благодарю.

+0

Вам нужны использовать 'process' атрибут. Это определяет, что обрабатывать в форме, которую вы отправляете с помощью ajax-запроса. Не знаю, как это делает PF, но вам, вероятно, нужно отправить всю таблицу: '' –

+0

Спасибо за ответ. По умолчанию в PrimeTimes dataTable используется «process =» @ this «». Во всяком случае, я попытался включить его сам, но он также не меняет выбор:/ – GabrielBB

+0

Кажется, что он [связан] (http://forum.primefaces.org/viewtopic.php?f=3&t=24653). –

ответ

1

Для использования правой кнопки мыши вы должны использовать <p:contextMenu> и в вашем <p:dataTable> добавить <p:ajax event="contextMenu" update=":MyComponent"/>

более

here информации

+0

Интересное замечание здесь состоит в том, что если вы поместите '' перед мишенью ' ', это не сработает. – kosgeinsky

+0

@kosgeinsky: Как указано в документации PF – Kukeltje

+0

@Kukeltje спасибо за этот указатель. – kosgeinsky

Смежные вопросы