我在丰富的extendedDataTable中显示了一个对象列表。
我想在此dataTable上注册两个更改事件:
1-我选择一行时的第一个事件
2-当我检查/取消包含复选框的列时
我的密码
1-第一个注册事件:
<a4j:ajax event="selectionchange" execute="@this" immediate="true" render=":parent1:child1" listener="#{controleur.selectionListener}"/>
2秒钟在复选框列上的已注册事件:
<h:selectBooleanCheckbox id="selectItem">
<a4j:ajax event="change" execute="@this" immediate="true" render="idCompopent1" listener="#controleur.selectItemChangeListener(arg0,arg1,arg2)}" />
</h:selectBooleanCheckbox>
我的backin bean:
// for the row selection
public void selectionListener(final AjaxBehaviorEvent event) {
final AbstractExtendedDataTable dataTable = (AbstractExtendedDataTable) event
.getComponent();
final Object originalKey = dataTable.getRowKey();
some code ...
dataTable.setRowKey(originalKey);
}
//for the checkbox
public void selectItemChangeListener(
final arg0,
final arg1, arg2) {
some code ...
}
尽管它们是两种不同的方法,但changeSelection(row)事件似乎禁用了change(checkbox)。