在我的应用程序中,我使用惰性数据模型进行了<p:dataTable>
分页。
当我从页面点击另一个页面按钮时,我有一个要求,如果我点击yes
,我会点击<h:form id="userListForm">
<p:dataTable var="user" id="userTable" value="#{userListController.userDataModel}" lazy="true" paginator="true" rows="25" paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="25,50,100" widgetVar="userDataTable" styleClass="userTable" selectionMode="single" >
<p:ajax event="page" />
<p:column id="nameColumn" headerText="#{adbBundle['name']}"
sortBy="#{user.fullName}" filterBy="#{user.fullName}" styleClass="userName">
<h:outputText value="#{user.fullName}" />
</p:column>
<!-- other columns -->
<:/p:dataTable>
</h:form>
然后我可以转到另一个页面,如果我点击“否”,那么我就不能生成确认弹出窗口转到另一页,我会留在当前页面。
.xhtml代码如下:
{{1}}
我正在使用primefaces 3.4,jsf 2.0。
答案 0 :(得分:1)
受到RongNK答案的启发,你可以这样做,
添加此脚本块:
<script type="text/javascript">
function onPageStart() {
return confirm('Are you sure?');
}
</script>
并将其放入数据表:
<p:ajax event="page" onstart="return onPageStart()" />
你也可以用<p:ajax
这种方式内联它:
<p:ajax event="page" onstart="return confirm('Are you sure?');" />
使用PrimeFaces 3.4.2进行测试和使用
答案 1 :(得分:0)
你有没有尝试过:
<p:ajax event="page" onstart="return tests()"/>
<script type="text/javascript">
var vpage = 1;
var prevvalue = vpage;
function tests(){
if(confirm('Are you sure?')){
var p = userDataTable.getPaginator();
vpage = p.getCurrentPage();
prevvalue = vpage;
return true;}
else {
var p = userDataTable.getPaginator();
p.setPage(prevvalue,true);
return false;}
}
</script>