Primefaces Datatable更新页脚进入循环

时间:2013-12-26 10:11:07

标签: java jsf-2 primefaces datatable

我正在使用primefaces 4.0。我有一个数据表,只有7列,每列有一个inputText是一个整数。我使用收集器向表中添加一行。我希望当我从一个输入字段移动到另一个输入字段并更改值时,每个列的总和显示在页脚上。我设法通过使用

来做到这一点
<h:inputText size="2" value="#{rec.monday.tid}">
   <p:ajax event="blur" update="@form" />
</h:inputText>

问题是第一个请求进入循环并且它不允许更改其他值。我尝试每次只使用此代码更新一个页脚。它似乎没有用。

<p:column >
        <f:facet name="header">
        <h:outputText value="#{newRecord.record.monday.day}" />
        </f:facet>
        <h:inputText size="2" value="#{rec.monday.tid}">
                <p:ajax event="blur" update=":form:records:mon" />
        </h:inputText>
        <f:facet name="footer">
           <h:outputText id="mon" value="#{newRecord.totalSun}" />
    </f:facet>
</p:column>
<h:form id="form">

        <p:growl id="msgs" />

        <p:panel header="Create a new record">
            <h:panelGrid columns="2" id="grid">
                <h:outputLabel value="time : *" for="txt_time"></h:outputLabel>
                <p:inputText id="txt_time" value="#{newRecord2.record.tid}" required="true" />

                <p:inputText id="txt_time2" value="#{newRecord2.record.tid2}" required="true" />

                <p:commandButton value="Reset" type="reset" />
                <p:commandButton id="btn_add" value="Add" update="records msgs @parent" action="#{newRecord2.reinit}">
                    <p:collector value="#{newRecord2.record}" addTo="#{newRecord2.records}" />
                </p:commandButton>
            </h:panelGrid>
        </p:panel>

        <p:outputPanel id="records">
            <p:dataTable id="recordsTable" value="#{newRecord2.records}" var="record">

                <p:column>
                    <f:facet name="header">
                        <h:outputText value="tid" />
                    </f:facet>
                    <h:inputText value="#{record.tid}">
                        <p:ajax update="total"></p:ajax>
                    </h:inputText>
                    <f:facet name="footer">
                        <h:outputText id="total" value="#{newRecord2.totalTid}" />
                    </f:facet>
                </p:column>
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="tid" />
                    </f:facet>
                    <h:inputText value="#{record.tid2}">
                        <p:ajax update="total2"></p:ajax>
                    </h:inputText>
                    <f:facet name="footer">
                        <h:outputText id="total2" value="#{newRecord2.totalTid2}" />
                    </f:facet>
                </p:column>



                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Operation" />
                    </f:facet>
                    <p:commandLink value="Remove" update=":form:records" process=":form:records">
                        <p:collector value="#{record}" removeFrom="#{newRecord2.records}" />
                    </p:commandLink>
                </p:column>

            </p:dataTable>
        </p:outputPanel>

    </h:form>

有谁可以帮助我?是否可以更新客户端的值?

0 个答案:

没有答案