Отображение h: столбцы в разных строках - PullRequest
0 голосов
/ 19 июня 2011

Я отображаю значения из таблицы базы данных, используя h: datatable, в одной строке страницы jsf отображается один набор, но я хочу отобразить каждое поле в отдельной строке страницы jsf Как мне этого добиться?

Заранее спасибо.

У меня следующий код на странице jsf.

<h:dataTable value="#{tableBean.pc}" var="p">

<h:column>
    <h:graphicImage value="/resources/images/#{p.pimagename}" />
</h:column>

<h:column>
    <h:outputText value="#{p.pname}" />
</h:column>

<h:column>
    <h:outputText value="#{p.pprice}" />
</h:column>

<h:column>
    <h:outputText value="#{p.pqtyavail}" />
</h:column>

</h:dataTable>

1 Ответ

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

Либо измените свою модель данных, чтобы все поля кортежей были единичными в одномерной записи List:

List<List<String>> tuples = getItSomehow();
List<String> fields = new ArrayList<String>();

for (List<String> tuple : tuples) {
    fields.addAll(tuple);
}

и используйте его вместо этого.

<h:dataTable value="#{bean.fields}" var="field">
    <h:column>#{field}</h:column>
</h:dataTable>

Или введите элемент HTML <br/>, чтобы поместить каждое поле кортежа в отдельную строку в одном столбце.

<h:dataTable value="#{bean.tuples}" var="tuple">
    <h:column>#{tuple[0]}<br/>#{tuple[1]}<br/>#{tuple[2]}</h:column>
</h:dataTable>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...