使用p:dataTable进行行编号

时间:2011-04-18 04:29:26

标签: mysql jsf-2 jpa-2.0 primefaces

我有这个问题:

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方法构建上述查询吗?

1 个答案:

答案 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开始。

<强>更新

此代码生成:

enter image description here