使用ajax呈现表格单元格值

时间:2012-01-30 13:05:03

标签: ajax jsf

我有一个主表面,我可以在单元格中输入一个值,我想在同一行的另一个单元格中计算另一个值。我找到了解决方案,我在那里渲染了所有表格,但我对表格下一行的关注却丢失了。

<p:panel id="bestellPanel">
    <center>
    <p:dataGrid  var="artikelGruppen" value="#{bestellungUI.bestellungArtikelGruppenList}" rows="2" id="gridArtikelGruppen" >

        <p:column>
            <p:panel header="#{artikelGruppen.gruppeBestellungArtikelName}" style="text-align:center" >

                <p:dataTable var="selectedBestellungArtikel" value="#{artikelGruppen.listBestellungArtikel}" id="selectedBestellungArtikel" rowIndexVar="rowIndex">

                    <p:column >
                         <f:facet name="header"> Artikelname </f:facet>
                        <h:outputText value="#{selectedBestellungArtikel.artikelName}" />                      
                    </p:column>
                    <p:column >
                         <f:facet name="header"> Packungsart </f:facet>
                        <h:outputText value="#{selectedBestellungArtikel.packungsName}" />
                    </p:column>
                    <p:column >
                         <f:facet name="header"> Anzahl Packungen </f:facet>

                         <h:inputText value="#{selectedBestellungArtikel.anzahlPackungen}" converter="javax.faces.Integer" style="color: #{selectedBestellungArtikel.message ? 'red' : 'blue'};text-align:right;"  converterMessage="Die Eingabe ist nicht eine valide ganze Zahl" id="anzahlPackungen">
                             <f:ajax execute="@this" render=":bestellungForm:bestellPanel" listener="#{bestellungUI.summierePackungen}" >
                                   <!--   <f:param  value="#{selectedBestellungArtikel}"/>-->

                            </f:ajax>
                        </h:inputText>
                    </p:column>
                     <p:column >
                          <f:facet name="header"> Bestellwert </f:facet>
                        <h:outputText value="#{selectedBestellungArtikel.bestellWert}" style="text-align:right;" id="bestellwert">
                            <f:convertNumber pattern="#,##0.00" maxFractionDigits="2" locale="de"/>
                         </h:outputText>
                    </p:column>


                </p:dataTable>

            </p:panel>                 

         </p:column>
         <p:column>

            <p:panel header="Summe #{artikelGruppen.gruppeBestellungArtikelName}" style="WIDTH: 100%; text-align:center"  >
                        <h:outputText value="#{artikelGruppen.summeBestellwert}" id="gruppeSummeBestellwert" >
                          <f:convertNumber pattern="#,##0.00" maxFractionDigits="2" locale="de"/>
                        </h:outputText>

            </p:panel>

         </p:column>

   </p:dataGrid >

我的问题是代码段

 <f:ajax execute="@this" render=":bestellungForm:bestellPanel" listener="#{bestellungUI.summierePackungen}" >

被调用的函数为id = bestellwert计算一个新值,并为表格计算id = gruppeSummeBestellwert的新总和。

这个解决方案有效,但我已经失去了对下一行的关注。如何只渲染编辑行,或者某些想要的单元格和总和行,因为我想将焦点保持在表格中。

提前谢谢。

0 个答案:

没有答案