我将 Primefaces 3.0 与 JSF 2.0 一起使用。我有一个启用扩展的数据表。当用户单击 rowToggler 时,我想调用一个 bean 方法。基本上,我只想在用户单击展开按钮时才加载展开详细信息。我在文档中看不到用于行扩展的服务器端回调。请让我知道我是否可以解决此问题。
谢谢和问候, 连珠
我将 Primefaces 3.0 与 JSF 2.0 一起使用。我有一个启用扩展的数据表。当用户单击 rowToggler 时,我想调用一个 bean 方法。基本上,我只想在用户单击展开按钮时才加载展开详细信息。我在文档中看不到用于行扩展的服务器端回调。请让我知道我是否可以解决此问题。
谢谢和问候, 连珠
按照问题评论中霍华德提供的链接,我可以看到这是在 PF 3.4 中实现的:
XHTML
<p:ajax event="rowToggle" listener="#{tableBean.onRowToggle}" update=":form:growl" />
豆
public void onRowToggle(ToggleEvent event) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Row State " + event.getVisibility(),
"Model:" + ((Car) event.getData()).getModel());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
您可以在展示中看到这一点: https ://www.primefaces.org/showcase/ui/data/datatable/expansion.xhtml
Primefaces 的 rowToggler 已经使用 ajax 加载内容,所以你应该没问题 ;-)
从手册:
p:rowToggler 组件放置一个展开/折叠图标,单击折叠的行会使用 ajax 加载展开的内容。