Как ajax обновить элемент в нижнем колонтитуле таблицы данных PrimeFaces?

Это изображение таблицы, которую я имею:

+---------+------------+-------------------+
| Header1 |  Header2   | Header3           |
+---------+------------+-------------------+
| Row A   |  Input A   | Calc'ed output A  |
| Row B   |  Input B   | Calc'ed output B  |
| etc..   |  etc..     |  etc..            |
+---------+------------+-------------------+
|    Total:          Total calc'ed output  |
+------------------------------------------+

И урезанный код:

<p:dataTable id="myTable" value="#{myBean.someList}"
    var="currentItem">

    <p:column headerText="Header1">
        <h:outputText value="#{currentItem.name}" />
    </p:column>

    <p:column headerText="Header2">
        <pe:inputNumber value="#{currentItem.inputVal}">
            <p:ajax event="change" listener="#{myBean.changeListener}"
                update="outputVal outputTotal" />
        </pe:inputNumber>
    </p:column>

    <p:column headerText="Header3">
        <h:outputText id="outputVal" value="#{currentItem.outputVal}" />
    </p:column>

    <f:facet name="footer">
        Total:
        <h:outputText id="outputTotal" value="#{myBean.total}" />
    </f:facet>

</p:dataTable>

myBean.someList являетсяArrayList<SomeOtherBean> с одной строкой и двумя целыми числами, только с геттерами и сеттерами.myBean.changeListener вычисляет второе целое число из первого для данной строки, а также сумму для всех строк.

Поэтому, когда я набираю один из входов, затем фокусируюсь, вызывается слушатель, и вычисление выполняется, но на экране значение в третьем столбце изменяется, но общее упрямо остается равным нулю. Я вполне уверен, что это как-то связано с тем, что PrimeFaces добавляет индекс строки к сгенерированным идентификаторам каждого входа и выхода, но я не могу понять, как добраться до вывода в нижнем колонтитуле (чей сгенерированный идентификаторmainForm:myTable:0:outputTotal).

Теперь я могу просто обновить родительскую таблицу. Однако всякий раз, когда ввод для получения фокуса является частью цели обновления, фокус теряется, и я нахожусь под очень строгими правилами доступности, что эта таблицадолжен быть дружественным к клавиатуре (введите номер, вкладку, введите номер, вкладку и т. д.)

Я пытался:

update = ": outputTotal" (выдано исключение Не удается найти компонент с идентификатором ...)update = "myTable: 0: outputTota (то же исключение)update = "myTable: outputTotal" (без обновления, общее количество равно нулю)обернуть текст в PanelGroup и обновить его (без обновления)

(PrimeFaces 3.5.0 с неизвестной версией MyFaces)

Ответы на вопрос(1)

Ваш ответ на вопрос