Jsf Primefaces datatable在单击时取消选择行并进行多项选择

Jsf Primefaces datatable在单击时取消选择行并进行多项选择,jsf,primefaces,Jsf,Primefaces,如何只需单击即可取消选择dataTable primefaces上的选定行,其工作方式与选择该行相同 这是我现在用来选择和取消选择的代码,但是取消选择需要按Ctrl或CMD(在mac上)键 ... 我们有两种可能解决此问题 首先 创建commandButton并调用primefaces方法unselectAllRows() ` 单击后,取消选择行 秒 通过ajaxEvent调用primefaces方法unselectAllRows() ` ... 在本例中,您在单击另一个页面(例如第3页)

如何只需单击即可取消选择dataTable primefaces上的选定行,其工作方式与选择该行相同

这是我现在用来选择和取消选择的代码,但是取消选择需要按Ctrl或CMD(在mac上)键


...

我们有两种可能解决此问题

首先

创建commandButton并调用primefaces方法unselectAllRows()

`
单击后,取消选择行

通过ajaxEvent调用primefaces方法unselectAllRows()

`
...
在本例中,您在单击另一个页面(例如第3页)时选择了第一个页面的数据,ajax将执行该方法 取消选择行();然后清除您已选择的


为了解决这个问题,我在primefaces论坛上找到了这篇文章:

Afaik,这里有一个主题。检查文档
行选择模式
。给它增值可能会带来你想要的东西。你给它增值是什么意思?在p:ajax上如何以及在何处执行该操作?好的,我刚才看到:'定义了多个选择的行选择模式。有效值为“新建”、“添加”和“复选框”。但这不适用于取消选择选定行并保留已选择的其他行是的,我使用的是5.3版,现在使用的是6.0版,但仍然相同,我需要crtl键取消选择选定行请阅读问题的最后评论。该行为是否符合您的回答?这里描述了什么?
<p:dataTable id="dataTableId" var="p" value="#{myBean.dataModel}" paginator="true" rows="50" paginatorPosition="bottom" emptyMessage="Empty results" rowKey="#{p.attribute}" selection="#{myBean.atributeList}" widgetVar="dataTableWidgetVar">`
   <p:commandButton widgetVar="buttonClear" value="Clear selection" onclick="dataTableWidgetVar.unselectAllRows();"/>
</p:dataTable>
<p:dataTable id="dataTableId" var="p" value="#{myBean.dataModel}"                                                                                                                     paginator="true" rows="50" paginatorPosition="bottom" emptyMessage="Empty results" rowKey="#{p.attribute}" selection="#{myBean.atributeList}" widgetVar="dataTableWidgetVar">`
    <p:ajax event="page" update="dataTableId" oncomplete="dataTableWidgetVar.unselectAllRows();"/>
 ...
</p:dataTable>