我有一个数据表,该数据表显示基于List <>的各种实体。当我选择一个单元进行编辑时,我希望能够以某种方式获取该实体以便对其进行更新。当然有event.getRowIndex,我可以将其与List <>一起使用,但这并不总是很方便。是否有另一种方法可以从CellEditEvent中获取实体?
一种方法是以编程方式对电流进行EL评估<p:dataTable var>
。
给定一个
<p:dataTable value="#{bean.entities}" var="entity">
你可以得到它如下
public void onCellEdit(CellEditEvent event) {
FacesContext context = FacesContext.getCurrentInstance();
Entity entity = context.getApplication().evaluateExpressionGet(context, "#{entity}", Entity.class);
// ...
}
如果您对CellEditEvent
参数不感兴趣,另一种方法是CellEditEvent
通过传递当前迭代的实体作为参数来完全覆盖参数:
<p:ajax event="cellEdit" listener="#{bean.onCellEdit(entity)}" />
和
public void onCellEdit(Entity entity) {
// ...
}
请注意,您不能保留CellEditEvent
和传递其他参数。否则显然会给出这个答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句