1

它在 Richfaces 中有据可查的错误(参见错误 RF-11413)

您可以在 Richfaces 展示 Rich:dataTable -> 编辑上尝试

我找到的唯一解决方案是:https : //community.jboss.org/message/735198(寻找Eldin Okanovic的答案)

但这对我不起作用,所以我想出了类似的解决方案,对我有用。

在 xhtml rich:datatable 上添加操作 a4j:commandLink action="#{carsBean.popupReset}"

<a4j:commandLink styleClass="no-decor" render="editGrid" execute="@this"
                oncomplete="#{rich:component('editPane')}.show()" action="#{carsBean.popupReset}">
                <h:graphicImage value="/images/icons/edit.gif" alt="edit" />
                <a4j:param value="#{it.index}" assignTo="#{carsBean.currentCarIndex}"/>
                <f:setPropertyActionListener target="#{carsBean.editedCar}" value="{car}" />
</a4j:commandLink>

在 CarsBean 添加方法 carsBean.popupReset

public void popupReset() {

    FacesContext context = FacesContext.getCurrentInstance();
    UIInput com1 = (UIInput) context.getViewRoot().findComponent("form:price");
    UIInput com2 = (UIInput) context.getViewRoot().findComponent("form:mage");        
    ...        

    com1.resetValue();
    com1.setValue(editedCar.getPrice());
    com2.resetValue();
    com2.setValue(editedCar.getMileage());
    ...

}

这不是一个很好的解决方案,但到目前为止它对我有用。

4

0 回答 0