Множественный выбор данных с использованием простых чисел с использованием события ajax без вызова метода

Я хочу вызвать слушатель, используя событие ajax rowSelectCheckBox в Lazy Data Model с выбранным multiple, Я создаю метод в своем компоненте поддержки, но этот метод не вызывается.

Кто-нибудь может помочь решить это?

мой 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;
}

2 ответа

Попробуйте удалить 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"/>         

Попробуйте удалить тег выбора из таблицы данных

 <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>
Другие вопросы по тегам