0

我想在带有 selected 的惰性数据模型上使用 ajax 事件 rowSelectCheckBox 调用侦听器multiple。我在我的支持 bean 中创建了一个方法,但是没有调用这个方法。

任何人都可以帮助解决这个问题吗?

我的 xhtml:

<h:form id="frmDataTableMutasi">
<p:outputLabel value="Daftar Toko Akan Dimutasi"
    styleClass="outputlabel-title" />
<br />
<p:dataTable widgetVar="widgetDataModel" var="dataModel"
    id="dataTable" value="#{tokoListBean.lfaStoreDataModel}" lazy="true"
    paginator="true" rows="5" paginatorPosition="bottom"
    emptyMessage="No record found"
    selection="#{tokoListBean.selectedLfaStore}"
    selectionMode="multiple"
    currentPageReportTemplate="{currentPage}/{totalPages}"
    paginatorTemplate="{FirstPageLink} {PreviousPageLink}      {CurrentPageReport} {NextPageLink} {LastPageLink}"
    rowsPerPageTemplate="5,10,15">

    <p:ajax event="rowSelectCheckbox" 
        listener="#{tokoListBean.onRowSelect}" update=":frmBtn:btnMutasi" />
    <p:ajax event="rowUnselectCheckbox"
        listener="#{tokoListBean.onRowUnselect}" update=":frmBtn:btnMutasi" />

    <p:column selectionMode="multiple"
        style="width:16px;text-align:center" />

    <p:column>
        <h:outputText value="#{dataModel.storeCode}" />
    </p:column>
    <p:column>
        <h:outputText value="#{dataModel.storeName}" />
    </p:column>
    <p:column>
        <h:outputText value="#{dataModel.snStoreType}" />
    </p:column>

    </p:dataTable>

我的支持豆:

public void onRowSelect(SelectEvent event) {
    System.out.println("onRowSelect");
    this.enableBtnMutasi = false;
}

public void onRowUnselect(UnselectEvent event) {
    System.out.println("onRowUnselect");
    this.enableBtnMutasi = true;
}
4

2 回答 2

3

尝试删除 widgetVar="widgetDataModel"

并添加以下代码:

<p:ajax event="toggleSelect" listener="#{tokoListBean.onRowToggle()}" update=":frmBtn:btnMutasi"/>          
<p:ajax event="rowSelectCheckbox" listener="#{tokoListBean.onRowSelect}" update=":frmBtn:btnMutasi"/>          
<p:ajax event="rowUnselectCheckbox" listener="#{tokoListBean.onRowUnselect}" update=":frmBtn:btnMutasi"/>          
<p:ajax event="rowSelect" listener="#{tokoListBean.onRowSelect}" update=":frmBtn:btnMutasi"/>          
<p:ajax event="rowUnselect" listener="#{tokoListBean.onRowUnselect}" update=":frmBtn:btnMutasi"/>         
于 2017-11-13T02:02:42.123 回答
1

尝试删除数据表的选择标签

 <p:dataTable widgetVar="widgetDataModel" var="dataModel"
    id="dataTable" value="#{tokoListBean.lfaStoreDataModel}" lazy="true"
    paginator="true" rows="5" paginatorPosition="bottom"
    emptyMessage="No record found"
    selection="#{tokoListBean.selectedLfaStore}"

    currentPageReportTemplate="{currentPage}/{totalPages}"
    paginatorTemplate="{FirstPageLink} {PreviousPageLink}{CurrentPageReport} {NextPageLink} {LastPageLink}"
    rowsPerPageTemplate="5,10,15">

 <p:ajax event="rowSelectCheckbox" 
        listener="#{tokoListBean.onRowSelect}" update=":frmBtn:btnMutasi" />
    <p:ajax event="rowUnselectCheckbox"
        listener="#{tokoListBean.onRowUnselect}" update=":frmBtn:btnMutasi" />

    <p:column selectionMode="multiple"
        style="width:16px;text-align:center" />
    enter code here
    // othres columns

   </datatable>
于 2016-05-05T12:52:39.997 回答