Динамическое добавление / удаление компонентов в JSF2 / Primefaces - PullRequest
0 голосов
/ 05 марта 2012

Я нашел похожие вопросы, когда проводил некоторые исследования, но ни один из них на самом деле не решил мою проблему.

У меня есть форма с некоторыми критериями ввода и кнопка отправки.При нажатии кнопки «Отправить», под формой заполняются данные с простыми числами с некоторыми результатами.Мне нужно показать разные таблицы в зависимости от введенных данных, не обновляя всю страницу.Например, если пользователь вводит Person в качестве значения в форме, отображаются результаты для таблицы Person.Однако, если пользователь выбирает компанию, результаты для компании отображаются в соответствующих столбцах.

1 Ответ

2 голосов
/ 05 марта 2012

Просто используйте атрибут update для обновления данных. Далее вы можете использовать <p:columns> для динамического создания столбцов.

<p:inputText value="#{bean.input}" />
<p:commandButton value="submit" action="#{bean.submit}" update="table" />

<p:dataTable id="table" value="#{bean.model}" var="item">
    <p:columns value="#{bean.columns}" var="column">
        <h:outputText value="#{item[column]}" />
    </p:columns>
</p:dataTable>

с чем-то вроде:

public void submit() {
    model = populateModelBasedOn(input);
    columns = populateColumnsBasedOn(input);
}
...