Primefaces数据表行选择和多个复选框选择不起作用

Jer*_*rry 18 primefaces jsf-2

我正在使用的primeface 3.5地方,我找到复选框来选择和取消选择或行选择完美独立的工作.当我尝试同时选择行和复选框时,行选择事件不会触发.任何人都可以为我澄清一下吗?

行选择不起作用你检查所有事件是否正常工作

<p:dataTable id="myBookDTable" var="car" value="#{myBean.pageViews}" paginatorPosition="bottom" paginator="true" rows="30" scrollable="true" scrollHeight="400" scrollRows="30" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" rowsPerPageTemplate="30,50,100"rowKey="#{car.carID}" rowIndexVar="rowIndex" draggableColumns="true" lazy="true">

<p:ajax event="rowSelect" listener="#{myBean.onRowSelect}" update="certainpart"
                                async="true"/>
<p:ajax event="rowSelectCheckbox" listener="#{myBean.rowSelectCheckbox}"/>
<p:ajax event="rowUnselectCheckbox" listener="#{myBean.rowUnselectCheckbox}"/>

<p:ajax event="rowUnselect" listener="#{myBean.rowUnselect}"/>

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

</p:datatable>
Run Code Online (Sandbox Code Playgroud)

小智 22

对于列标题事件,我们在primeface/jsf中存在不同的标题名称:"toggleSelect".你可以像这样使用:

<p:ajax event="toggleSelect" update="@this" process="@this" />
Run Code Online (Sandbox Code Playgroud)

  • 这很好,但是我怎么知道我是刚刚制作了“selectAll”还是“unselectAll”? (3认同)

Pra*_*kar 20

在您的datatable代码中,使用此功能

   <p:ajax event="rowSelectCheckbox" update="someComponent" />
  <p:ajax event="rowUnselectCheckbox" update="someComponent" />
  <p:ajax event="rowSelect" update="someComponent" />
  <p:ajax event="rowUnselect" update="someCompoent" />
  <p:column selectionMode="multiple" style="width:4%" />
Run Code Online (Sandbox Code Playgroud)

你需要触发这四个ajax事件,并确保你将列selectionMode作为multiple