У меня есть перформанс (3.5) datatable, столбцы которого я хочу показать/скрыть с помощью selectMenuCheckbox (sMCB) - каждый столбец указан в sMCb. SMCb имеет управляемый компонент, который сохраняет свои значения, а столбцы таблицы имеют свои поля рендеринга, установленные для метода, который смотрит, проверяется ли столбец или нет.
В sMCb есть параметр "onChange", в котором я использую базовый javascript-вызов "tableName.update()", чтобы сообщить ему об обновлении. 1) Это не работает, и 2) я не уверен, правильно ли он вернул таблицу, или если я буду делать что-то еще.
Может ли кто-нибудь предложить способ сделать это с помощью datatable, selectMenuCheckbox и показать/скрыть столбец при каждом изменении флажка.
Я работал с JSF/Primefaces раньше, но я действительно новичок в javascript/jquery/etc.
Благодарю.
Как вы говорите, selectMenuCheckBoxes работает на стороне сервера, так же как и атрибут render
. Чистый клиентский подход javascript не будет работать.
Чтобы обновить столбцы, я бы ожидал чего-то вроде повторного рендеринга таблицы в случае, если был установлен флажок.
Не зная вашего прямого xhtml (и лично исходящего из интерфейса richfaces), флажок может выглядеть примерно как (untested)
<h:selectMenuCheckBox value="#{managedBean.firstColumnChecked}">
<f:ajax event="change" render="yourDataTableIdHere" />
</h:selectMenuCheckBox>
Надеюсь, поможет...