使用 p:dataTable 进行行编号

发布于 2024-11-02 03:47:22 字数 495 浏览 2 评论 0原文

我有这样的查询:

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

MySQL 查询的 @rownum:=@rownum+1 部分用于结果编号,因为 Primefaces 目前没有显示编号列的功能。

有没有一种方法可以显示 Primefaces 列编号而无需执行 @rownum:=@rownum+1

如果没有,我可以纯粹使用 CriteriaBuilder 方法构造上述查询吗?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如歌彻婉言 2024-11-09 03:47:22

我不太确定您是否想要“编号列”或“列编号”。我假设是第一个;-)

你不能使用 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 开始。

更新:

此代码生成:

在此输入图像描述

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:

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文