刷新层叠板

时间:2016-12-08 09:57:53

标签: xpages javabeans

在级联面板上刷新内容时是否存在问题,该内容包含连接到主面板对象的对象?主要面板的数据来源为" Invoice" (托管bean),级联面板的内容为" Invoice.getAllInvoiceItems()"对象列表(InvoiceItem)。

主要面板(我在beforePageLoad事件中加载bean,而不是在主面板中):

 <xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:on="http://www.openntf.org/domino/xsp"
    xmlns:xc="http://www.ibm.com/xsp/custom"
    xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xp:this.beforePageLoad><![CDATA[#{javascript:Invoice.pageInit();}]]>        
    </xp:this.beforePageLoad>
  <xp:panel id="mainpanel" rendered="#{javascript:Invoice.getValid();}"
        readonly="#{javascript:Invoice.readOnly;}"> 

级联小组:

<xp:panel id="RepeatInvoiceItems">
    <xp:this.data>
        <xe:objectData var="invoiceItem"
            createObject="#{javascript:Invoice.getAllInvoiceItems()}">
        </xe:objectData>
    </xp:this.data>

我将Invoice配置为 Faces-config 中的托管bean,但InvoiceItem没有,因为我认为没必要......

   <managed-bean>
    <managed-bean-name>Invoice</managed-bean-name>
    <managed-bean-scope>view</managed-bean-scope>
    <managed-bean-class>com.kitc.controller.ControllerInvoice</managed-bean-class>
   </managed-bean>

我的问题是,当我创建一个新的InvoiceItem时,包含InvoiceItems的面板不刷新,但包含Invoice的面板确实(Proof方法Invoice.getTotalPrice()返回所有(包括新的)InvoiceItems的计算值)

1 个答案:

答案 0 :(得分:1)

为什么使用objectData,可以将Invoice.getAllInvoiceItems()直接绑定到repeatControl 并将新的invoiceItem绑定到bean的属性