Нумерация строк с помощью p: dataTable - PullRequest
7 голосов
/ 18 апреля 2011

У меня есть этот запрос:

SELECT @rownum:=@rownum+1 'no', m.title, m.author, REPLACE(SUBSTRING_INDEX(m.content, ' ', 20), '<br>', ' '), m.viewed, m.hashid FROM book m, (SELECT @rownum:=0) r WHERE m.lang = ?1 AND m.title like CONCAT('%',?2,'%') ORDER BY m.title asc

Часть @rownum:=@rownum+1 запроса MySQL для нумерации результатов, так как Primefaces в настоящее время не имеет средства для отображения столбца нумерации.

IsЕсть ли способ показать нумерацию столбцов Primefaces без необходимости делать @rownum:=@rownum+1?

Если нет, могу ли я построить вышеупомянутый запрос, используя только метод CriteriaBuilder?

1 Ответ

38 голосов
/ 18 апреля 2011

Я не совсем уверен, хотите ли вы «нумерацию столбцов» или «нумерацию столбцов».Я предполагаю первое; -)

Не можете ли вы использовать rowIndexVar?Документ Primefaces говорит:

rowIndexVar = Имя переменной, относящейся к обрабатываемому rowIndex.

Это работает для меня:

<p:dataTable value="#{testBean.selectOptions}" rowIndexVar="rowIndex" var="item">
    <p:column headerText="#">
        #{rowIndex+1}
    </p:column>
    <p:column headerText="Option">
        #{item}
    </p:column>
</p:dataTable>

The +1 для начала с номера 1.

ОБНОВЛЕНИЕ:

Этот код производит:

enter image description here

...