p:ajax 除了在 celleditor 中工作正常

p:ajax works fine except in celleditor

我正在尝试在数据table 中使用 p:ajax event="keyup" 但无法获得结果。以下代码正常工作 f9

<p:inputText id="txtVNo" value="#{Bean.txtVNo}" style="width: 68px; height: 26px; padding-bottom: 0;  border-radius: 0px;" type="number" required="true" readonly="#{Bean.locktxtVNo}" >
      <p:ajax event="keyup" listener="#{Bean.gridCalc(0, 'VNo')}" />
</p:inputText>

但是当我尝试在数据table中使用相同的代码时,它不会触发 gridCalc 事件

<p:column width="45">
                            <f:facet name="header">
                                    <h:outputText value="FC Debit" />
                            </f:facet>
                            <p:cellEditor>
                                <f:facet name="output"><h:outputText value="#{result.FCAMTDR}" /></f:facet>
                                <f:facet name="input">
                                    <p:inputText id="txtGrdFCAmtDr" value="#{result.FCAMTDR}" style="width:95%;">
                                        <p:ajax event="keyup" listener="#{Bean.gridCalc(0, 'FC Amt Dr')}" />
                                    </p:inputText> </f:facet>
                            </p:cellEditor>
                        </p:column>

数据table

<p:dataTable var="result" id="detTable" widgetVar="detTable"
                            value = "#{Bean.detTable}"
                            paginator = "false"
                            scrollable="true"  rowIndexVar="rowindex"  scrollHeight="344" scrollWidth="auto"
                            scrollRows="9" liveScroll="false"
                            editable = "true"
                            editMode = "cell"
                        >

Bean 事件


    public void gridCalc (int r, String i) {
        System.out.println("gridCalc : " + r + " @ " + i + ", " + txtVNo);
//        detTable.get(r).get("FCAMT");
    }

尝试 event="blur" 而不是 event="keyup"