小编San*_*tik的帖子

ADF af:表编程"selectionListener"在其中一列中停止"valueChangeListener"

af:table组件的"selectionListener"属性的默认值通常如下所示: selectionListener="#{bindings.IterBinding.collectionModel.makeCurrent}"

但是如果需要一些特殊的选择处理,可以为选择事件指定自定义处理程序,通常在辅助bean中.作为此自定义处理程序的第一步,以编程方式调用使行为当前的默认功能.这可能类似于以下代码段:

public void testSelectionListener(SelectionEvent selectionEvent) {        
    JSFUtils.resolveMethodExpression("#{bindings.IterBinding.collectionModel.makeCurrent}", null, 
                                   new Class[]{SelectionEvent.class}, new Object[]{selectionEvent});        
}
Run Code Online (Sandbox Code Playgroud)

这应该与标准选择处理程序完全相同,对吧?
但事实并非如此.
通过单击其中一个表列中的复选框触发选择更改时,此af:selectBooleanCheckbox的"valueChangeListener"不会在此时触发.它在第二次点击时会触发.使用默认的"selectionListener"时,它会始终按预期触发.

任何想法自定义处理程序有什么问题?

jsf oracle-adf

2
推荐指数
1
解决办法
7457
查看次数

标签 统计

jsf ×1

oracle-adf ×1