我有一个使用 JSF2.0 的数据表,其中我用单选按钮显示行
<p:dataTable id="dataTable" var="emp" lazy="true" value="#{req.lazyModel}"
paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport}
{FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10"
selection="#{req.selectedEmp}"
rowKey="#{req.empNo}"
rowSelectListener="#{req.onRowSelect}">
<p:column selectionMode="single" style="width:18px" />
在 Bean 我有
public void onRowSelect(SelectEvent event) {
System.out.println("row "+((Request) event.getObject()).getEmpNo());
}
然而
onRowSelect
方法没有被调用。这可能是什么原因?我对单选按钮的想法是当用户单击单选按钮时,我想在主数据表下方显示一个数据表,其中包含所选行的详细信息。
任何帮助都受到高度赞赏。
更新 1
<p:dataTable id="dataTable" var="emp" lazy="true" value="#{req.lazyModel}"
paginator="true" rows="10"
paginatorTemplate="{CurrentPageReport}
{FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="5,10"
selection="#{req.selectedEmp}">
<p:column selectionMode="single" style="width:18px" />
<p:ajax event="rowSelect" listener="#{reqMB.onRowSelect}" />
最佳答案
没有这样的属性 rowSelectListener
在 Primefaces 3.4.2
使用 <p:ajax event="rowSelect"
相反,就像在陈列柜中一样
对于 radio /复选框等...这些是可用的 <p:ajax
事件
看showcase(在页面搜索p:ajax)
DataTable - Selection
关于jsf-2 - Primefaces 数据表中单选按钮的 onRowSelect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028720/