我想在Lazy Data Model上使用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>
我的支持bean:
public void onRowSelect(SelectEvent event) {
System.out.println("onRowSelect");
this.enableBtnMutasi = false;
}
public void onRowUnselect(UnselectEvent event) {
System.out.println("onRowUnselect");
this.enableBtnMutasi = true;
}
答案 0 :(得分: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>
答案 1 :(得分:1)
尝试删除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"/>