当前位置: 首页 > 知识库问答 >
问题:

Primeface dataTable多重选择同一个对象

佟嘉祯
2023-03-14

我对dataTable multiple selection with复选框有问题(如第二个复选框:http://primefaces.org/showcase/ui/datatableRowSelectionRadioCheckbox.jsf). 当我尝试在backingBean中执行一个方法时,所选的项总是具有正确的大小,但具有相同的对象。示例:我在数据表中选择三条消息:消息1、消息2和消息3。当我在JSF页面中执行我的方法时,我选择的项目如下所示:

Messages[0] = Message 1
Messages[1] = Message 1
Messages[2] = Message 1

这是我的JSF页面:

<p:dataTable id="mensagensLidas" var="msg" value="#{mensagensBean.msgGrupoModel}" 
paginator="true" rows="10" selection="#{mensagensBean.selectedMsgsGrupo}">

    <p:column selectionMode="multiple" style="width:2%"/>

    <p:column headerText="Titulo:" style="width:49%">  
        #{msg.titulo}  
    </p:column>

    <f:facet name="footer">
        <p:commandButton id="multiViewButton" value="#{msgs.delete}" icon="ui-icon-trash" actionListener="#{mensagensBean.excluirMsgsGrupo}" update=":tabMain" ajax="true"/>
    </f:facet>

</p:dataTable>

共有2个答案

杨赞
2023-03-14

我发现了这个问题。我的数据模型是getRowData始终返回相同的对象。我做了一个错误的比较。谢谢大家!

颜河
2023-03-14

您的上述代码对我来说运行良好,但我使用的是行键
尝试使用数据表中的属性

<p:dataTable id="mensagensLidas" var="msg" value="#{mensagensBean.msgGrupoModel}" 
                paginator="true" rows="10" selection="#{mensagensBean.selectedMsgsGrupo}"
                rowKey="#{msg.titulo}">
....

</p:dataTable>

当您在Datables中进行选择时,使用rowKey是必须和最佳实践,它有助于映射选定的

 类似资料:
  • 问题内容: 我有桌子: 我想写一个返回BookName,FirstName,LastName,RubricName的SELECT查询。 我有两个单独的查询,但我不知道如何在一个选择中编写此查询。这就是我得到的: 它工作正常,但如何在一个选择中编写? 我尝试这样做,但是不起作用: 它返回错误: 问题答案: 试试这个查询

  • 从xml中,我需要获得每个节点的名称和面积。 我知道示例xpath,比如,

  • 问题内容: 尝试在angularjs中选择关于对象值的多个选项 这是一个代码: 和html jsfiddle上的(非)工作示例 http://jsfiddle.net/andrejkaurin/h9fgK/ 问题答案: 您尝试使用选择倍数(如复选框列表),这有点奇怪。多选输出一个数组。您不能将ng- model放在这样的选项标签上,而是放在选择本身上。因此,由于select将输出值数组,因此您需要

  • 我想从选择一个菜单中选择一个自定义对象。它既不显示错误也不显示值。我该怎么办? 我的xhtml文档: 我的管理Bean类:

  • 我正在尝试JOOQ,并试图使用连接语句从3个表(作者,书籍和文章)中进行选择。ERD如下: 我的问题如下: 我也有一个原型对象如下: (或任何其他pojo)将所有实体(作者详细信息图书列表文章列表)保存到一个对象中。我的问题是,是否有某种方法可以使用JOOQ将所有三个表映射到一个对象中。 提前谢谢。

  • 问题内容: 仍在学习MySQL的绳索,我试图找出如何进行涉及多对多的特定选择。如果表名太通用,我深表歉意,我只是在做一些自制的练习。我尽力成为一名自学者。 我有3个表,其中一个是链接表。如何编写 “显示哪些用户同时拥有HTC和Samsung手机” (他们拥有2部手机)的语句。我猜答案在WHERE语句中,但我不知道该怎么写。 问题答案: 关键是在GROUP BY / HAVING中使用COUNT个D