如何以编程方式取消选择数据表中的选定行

Dig*_*nta 3 datatable primefaces jsf-2

在我的应用程序中,dialogdataTable在每列中显示一个复选框以选择相应的行.在dialog我的底部,我用两个按钮来显示所选择的行,另一个用于重置数据表意味着取消选择所选择的行.

.xhtml代码如下:

<p:dialog id="popUp" header="Activity Detail" widgetVar="popUpWidget" 
 showEffect="fade" hideEffect="explode" resizable="false" modal="true">
<h:panelGrid>
    <p:row>
        <p:column colspan="2">
            <p:dataTable id="userListForAdminpopup" value="#{activityListController.activityUsers}" var="user"
                paginator="true" paginatorPosition="bottom" widgetVar="userListForAdminpopUp"
                paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
                rows="10" selection="#{activityListController.selectedActivityUsers}">

                <p:column headerText="#{adbBundle['fullName']}"
                    sortBy="#{user.lastName}" filterBy="#{user.fullName}"
                    filterMatchMode="contains" styleClass="userName">
                    <h:outputLabel value="#{user.firstName}" />
                </p:column>

                <p:column selectionMode="multiple" />
            </p:dataTable>
        </p:column>
    </p:row>
    <p:row>
        <p:column colspan="2">
            <h:panelGroup layout="block">
                <p:commandButton value="Update" oncomplete="confirmation.show()"/>
                <p:commandButton value="Reset"/>
            </h:panelGroup>
        </p:column>
    </p:row>
</h:panelGrid></p:dialog>
Run Code Online (Sandbox Code Playgroud)

我想在点击重置按钮时取消选择行.怎么做?如果有人知道,请告诉我.谢谢.

swa*_*aps 6

我们可以在按钮点击时使用unselectAllRows调用取消选择数据表行.看下面的代码

<p:dataTable
    id="dataTableId"                             
    widgetVar="dtWidgetVar"
    value="#{myBean.items}"
    var="item"
    ....>
</p:dataTable>

<p:commandButton value="Reset" onclick="PF('dtWidgetVar').unselectAllRows()" />
Run Code Online (Sandbox Code Playgroud)

  • 它将是onclick ="PF('dtWidgetVar').unselectAllRows();" 按照PrimeFaces 5.2 (8认同)

Ron*_*yen 3

你试试:

<p:commandButton value="Reset" update="userListForAdminpopup" process="@this" actionListener="#{activityListController.hand}"/>
Run Code Online (Sandbox Code Playgroud)

豆角,扁豆:

public void hand(){
   selectedActivityUsers = new ActivityUsers(); // Type of element of list
}
Run Code Online (Sandbox Code Playgroud)