Множественный выбор данных с использованием простых чисел с использованием события 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>