Man*_*ish 3 javascript jquery jsf primefaces
我正在使用 Prmefaces 3.5。我在数据表中使用 RowToggler。每当单击 RowToggle 按钮时,我都会执行一些数据库访问操作并显示包含所访问数据的网格。
每当单击切换按钮时,都会调用下面的侦听器,在其中完成操作
<p:ajax event="rowToggle" listener="#{controller.onRowToggle}" 
但问题就出在这个方法的调用上。不仅在展开行时调用此方法,还在折叠行时调用此方法。折叠行时不需要完成数据库操作,因此这是一项昂贵的操作。
请建议如何知道该行是展开还是折叠,以便我可以有条件地执行操作?
您是否尝试过ToggleEvent#getVisibility()在侦听器中使用方法?这是例子:
public void onRowToggle(ToggleEvent event) {
    if (event.getVisibility() == Visibility.VISIBLE) {
        // your code here
    }
}
如果您只想在扩展行时才进行 RT ,则可以使用以下方法:
<p:ajax
    event="rowToggle"                                            
    onstart="return cfg.ext.params[0].name.indexOf('_rowExpansion') != -1"
    listener="#{fooViewModel.onRowToggle}"
/>
| 归档时间: | 
 | 
| 查看次数: | 10309 次 | 
| 最近记录: |