1

On Row selection 仅触发一次..我正在使用 p:datatable 显示结果,当我单击一行时,相应的 onRowSelect 方法正在调用..但它是第一次工作,后来没有触发事件。

<p:dataTable id="resultsTable"  var="details" paginator="true" rows="10"  
 value="#{memberSearchBean.memberDetails}" 
 emptyMessage="No Records exists for this member"
 selection="#{memberSearchBean.selectedMember}"    selectionMode="single"
 rowKey="#{details.coverNumber}" 
  >

 <p:ajax event="rowSelect" listener="#{memberSearchBean.onRowSelect}"  update=":memberSearchForm:displayselectedMember" oncomplete="PF('displayselectedMember').show()" /> 


    public void onRowSelect(SelectEvent event) {  

        MemberDetailsBean mb =  (MemberDetailsBean) event.getObject(); 

 }

任何帮助将不胜感激..我搜索了很多,但我没有得到正确的答案..

4

1 回答 1

2

您的 JavaScript 在执行时遇到错误PF('displayselectedMember').show(),因为您尚未定义 widgetVar displayselectedMember。您将其作为 ID,该PF功能无法识别。当 JavaScript 遇到错误时,它会停止执行,这会阻止您的函数调用(通过 AJAX)。

我建议使用 Chrome 中的开发人员工具或 Firefox 中的 Firebug 进行调试。其中任何一个都会在控制台中为您输出此错误。

另外,请注意:该PF(widgetVar)符号在 3.x 版本中似乎不起作用;它可能是 4.x 的新内容。如果您使用的是 3.x,请像这样调用它:widgetVar.function().

于 2013-09-01T02:58:40.420 回答