gpt4 book ai didi

jsf - PrimeFaces DataTable CellEdit 获取实体/对象

转载 作者:行者123 更新时间:2023-12-02 18:04:37 25 4
gpt4 key购买 nike

我有一个数据表,它根据列表<>显示各种实体。当我选择一个单元格进行编辑时,我希望能够以某种方式获取该实体以便更新它。当然,还有 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并传递附加参数。否则显然会给出这个答案。

关于jsf - PrimeFaces DataTable CellEdit 获取实体/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18611479/

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