小编Met*_*eta的帖子

PrimeFaces数据表中的条件单元格编辑

我想只有在满足某些条件时才允许用户编辑数据表中的单元格.

最初我试图<choose>实现这个目标:

<p:dataTable var="item" value="${bean.items}" editable="true" editMode="cell">
    <p:column headerText="column A">
        <c:choose>
            <c:when test="${item.isEditable}">
                <p:cellEditor id="title">
                    <f:facet name="output">
                        <h:outputText value="#{item.title}"/>
                    </f:facet>
                    <f:facet name="input">
                        <p:inputText value="#{item.title}"/>
                    </f:facet>
                </p:cellEditor>
            </c:when>
            <c:otherwise>
                <h:outputText value="#{item.title}"/>
            </c:otherwise>
        </c:choose>
    </p:column>
...
Run Code Online (Sandbox Code Playgroud)

但它不起作用.另一种方法是使用rendered属性:

<p:column headerText="column A">
    <p:cellEditor rendered="${item.isEditable}">
         <f:facet name="output">
             <h:outputText value="#{item.title}"/>
         </f:facet>
         <f:facet name="input">
             <p:inputText value="#{item.title}"/>
         </f:facet>
     </p:cellEditor>
    <h:outputText value="#{item.title}" rendered="#{!item.isEditable}"/>
</p:column>
Run Code Online (Sandbox Code Playgroud)

工作正常 - 用户只能编辑允许的单元格.

但即使单元格不可编辑,它仍然具有ui-cell-editing类,并且看起来像用户的可编辑单元格.

将条件应用于单元格编辑的正确方法是什么?

谢谢!

datatable primefaces jsf-2

8
推荐指数
1
解决办法
5712
查看次数

动态更改程序图标

在C++中,无论如何让用户选择应用程序的图标?例如,Winamp允许您从其首选项中的图标列表中选择要使用的图标.怎么做?

c++ windows icons

1
推荐指数
1
解决办法
2588
查看次数

标签 统计

c++ ×1

datatable ×1

icons ×1

jsf-2 ×1

primefaces ×1

windows ×1