Значение ячейки не фиксируется при изменении фокуса мыши
У меня есть простой набор данных, который показывает имя и доход.Значения ячеек доступны для редактирования.Когда я обновляю значение ячейки другим значением и нажимаю «Обновить» (в основном меняю фокус мыши), новое значение не фиксируется.Метод update печатает старое значение.Однако, когда я нажимаю клавишу «Tab», я вижу напечатанные обновленные значения.Я не уверен, что мне не хватает
Вот мой боб:
@PostConstruct
public void init() {
NVPair nvp = new NVPair("xx", 10000);
dataList.add(nvp);
nvp = new NVPair("yy", 20000);
dataList.add(nvp);
}
public void update() {
for (NVPair item : dataList) {
System.out.println("Name: " + item.getName() + " Value: " +
item.getValue());
}
}
Вот вид:
<h:form>
<p:dataTable id="testTable" value="#{testBean.dataList}" var="item"
editable="true" editMode="cell">
<p:ajax event="cellEdit" listener="#{testBean.onCellEdit}"
immediate="true" update="testTable" />
<p:column headerText="Name">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.name}" />
</f:facet>
<f:facet name="input">
<h:outputText value="#{item.name}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Income">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.value}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.value}" />
</f:facet>
</p:cellEditor>
</p:column>
</p:dataTable>
<p:commandButton action="#{testBean.update}" value="Update" />
</h:form>
Когда фокус меняется,ожидая, что отредактированное значение захватывается так же, как при нажатии клавиши табуляции.