I have this query:
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
The @rownum:=@rownum+1
part of the MySQL query for result numbering as Primefaces currently does not have a facility to display a numbering column.
Is there a way to show Primefaces column numbering without having to do @rownum:=@rownum+1
?
If not, can I construct the above query using purely the CriteriaBuilder method?
I am not quite sure whether you want a "numbering column" or "column numbering". I assume the first ;-)
Can't you use rowIndexVar
? The Primefaces doc says:
rowIndexVar = Variable name referring to the rowIndex being processed.
This works for me:
<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 is for starting with number 1.
UPDATE:
This code produces:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With