在特定行启用或禁用 primefaces 数据表按钮

Posted

技术标签:

【中文标题】在特定行启用或禁用 primefaces 数据表按钮【英文标题】:Enable or disable primefaces datatable buttons at the certain row 【发布时间】:2013-09-11 12:05:04 【问题描述】:

PrimeFaces 3.5 莫哈拉 2.1.5 JDK 1.6

当我的数据表正在加载时,我需要在同一行的同一列中启用或禁用两个按钮。

即当数据表加载第一行时,我必须启用向下按钮并禁用向上按钮。 当数据表加载第二行直到最后一行 -1 时,我必须启用两个按钮。 当数据表加载最后一行时,我需要启用向上按钮并禁用向下按钮。

我尝试读取 List 对象并启用、禁用,但它为所有行设置了启用或禁用。

我将不胜感激。提前谢谢...

【问题讨论】:

【参考方案1】:

您可以使用rowIndexVar

类似这样的:

<p:dataTable value="#myBean.myRows" rowIndexVar="myRowIndex" var="myRow">
    <p:column headerText="#">
        <h:commandLink styleClass="upArrow" disabled="#myRowIndex eq 0"/>
        <h:commandLink styleClass="downArrow" 
            disabled="#myRowIndex eq myBean.myRows.size()"/>
    </p:column>
</p:dataTable>

【讨论】:

非常感谢@Daniel,它按预期工作。唯一的提示是 size() 方法在禁用的 el 表达式中不起作用。我必须创建 getter/setter,即在 Down button 中: disabled="#myRowIndex eq .myBean.varList 和 backing bean varList = dataTableList.size()-1

以上是关于在特定行启用或禁用 primefaces 数据表按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何使用p:selectBooleanCheckbox切换禁用/启用PrimeFaces组件

有没有办法通过特定事件启用/禁用对数据表的搜索?

如何启用或禁用特定 ViewController 的横向模式?

R Shiny - 使用列排序禁用数据表中的特定行

编辑网格时,如何按行禁用特定字段? Kendo UI ASP.Net MVC 包装器

如何在特定条件通过时启用或禁用反应中的p标签。