gpt4 book ai didi

java - JSF - 数据表中的 ValueChangeListener

转载 作者:行者123 更新时间:2023-12-04 00:32:28 28 4
gpt4 key购买 nike

如何在数据表中使用 UIInput 组件正确实现 ValueChangeListener,然后我进入监听器方法获取行索引已更改、新值和旧值

<datatable>
<column>
<input value="item.unitPrice" valueChangeListener="#{bean.myListener}">
</column>

变化,不一定产生POST到Server,Post可能由其他事件产生。

任何帮助,谢谢。

最佳答案

将数据表的值绑定(bind)到 DataModel :

private DataModel<Item> dataModel; // +getter

public Bean() {
this.dataModel = new ListDataModel<Item>(loadListOfItemsFromDatabase());
}

<h:dataTable value="#{bean.dataModel}">

这样您就可以在 valuechangelistener 中访问当前索引(以及当前 Item):

public void myListener(ValueChangeEvent event) {
int index = dataModel.getRowIndex();
Item item = dataModel.getRowData();
Object oldValue = event.getOldValue();
Object newValue = event.getNewValue();
// ...
}

关于java - JSF - 数据表中的 ValueChangeListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514919/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com