我有这个问题:
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
作为Primefaces的结果编号的MySQL查询的@rownum:=@rownum+1
部分目前没有显示编号列的工具。
有没有办法显示Primefaces列编号而无需@rownum:=@rownum+1
?
如果没有,我可以使用纯粹的CriteriaBuilder方法构建上述查询吗?
答案 0 :(得分:38)
我不确定您是否需要“编号列”或“列编号”。我假设第一个; - )
你不能使用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>
+1表示从数字1开始。
<强>更新强>
此代码生成: