【问题标题】:JSF: datatable row manyselectJSF:数据表行多选
【发布时间】:2014-05-22 19:53:09
【问题描述】:

我想从 Utilisateur(Users) 列表中选择许多项目,但每行都会重复该复选框 例如:我在 Db 中有 2 个用户,这就是为什么在每行数据表的每个用户的 a 值上出现两个复选框的原因

这是我的 xhtml 文件:

    <p:dataTable id="dta" value="#{UtilisateurComponent.listUtilisateurs()}"  var="current" rows="15" paginator="true" paginatorPosition="bottom">
        <p:column>
            <h:selectManyCheckbox id="selectUser" value="#{ProjetComponent.projet.utilisateurs}"   >
                <f:selectItems value="#{UtilisateurComponent.listUtilisateurs()}" var="utilisateurs" itemValue="#{utilisateurs.iduser}" itemLabel=""/>
            </h:selectManyCheckbox>
        </p:column>
        <p:column> 
            <f:facet name="header">
                <h:outputText value="#{utilisateurmsgs['utilisateur.datederniereconnexion.title']}" />
            </f:facet>
                    <h:outputText value="#{current.datederniereconnexion}" converter="dateTimeConverterForCalendar" />
        </p:column>

这是生成的表单

【问题讨论】:

    标签: java jsf jakarta-ee web primefaces


    【解决方案1】:

    这是因为你这样做了:

    <f:selectItems value="#{UtilisateurComponent.listUtilisateurs()}" var="utilisateurs" itemValue="#{utilisateurs.iduser}" itemLabel=""/>
    

    f:selectItems - 它从列表中获取数据并根据列表大小创建复选框。

    你需要做这样的事情,使用 p:dataTable 中的 var。

    <f:selectItem itemValue="#{utilisateurs.iduser}" itemLabel="blabla"/>
    

    还请注意,我已将 selectItems 更改为 selectItem。

    看看这个链接。你在底部有你想要的例子。带有复选框的表格 http://www.primefaces.org/showcase/ui/data/datatable/selection.xhtml

    【讨论】:

      猜你喜欢
      • 2013-06-08
      • 2011-06-15
      • 1970-01-01
      • 2015-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      相关资源
      最近更新 更多