2013-01-04 34 views
1

我有一個自定義控件,它由3個不同的部分構成。奇怪的局部刷新行爲

  • 菜單欄
  • 內容表(其是重複控制)
  • 頁腳

內容表是其中另一個定製控制正被再現的重複控制。現在,我有以下XML:

<xp:table styleClass="lotusTable" id="table"> 
    <thead> 
     <tr> 
      <th>header</th> 
     </tr> 
    </thead> 
    <xc:TimeGridBody id="timeGridBody"></xc:TimeGridBody> 
    <xc:TimeGridFooter id="TimeGridFooter"></xc:TimeGridFooter> 
</xp:table> 

內timegrid有它具有以下事件處理程序

<xp:eventHandler 
    event="onclick" 
    submit="true" 
    refreshMode="partial" 
    execMode="partial" 
    execId="timeLineRow" 
    immediate="false" refreshId="timeLineRow"> 

    <xp:this.action> 
     <![CDATA[#{javascript: 
      timeLineFactory.toDocument(compositeData.TimeLine); 
      var editModeKey = "EditMode"+compositeData.TimeLine.getFdMe(); 
      viewScope.put(editModeKey, false); 
     }]]> 
    </xp:this.action> 

    <xp:this.onComplete> 
     <![CDATA[ 
      XSP.partialRefreshPost("#{id:TimeGridFooter}", {}); 
     ]]> 
    </xp:this.onComplete> 

</xp:eventHandler> 

時間表自定義控件正如你可以看到有一些東西,怎麼回事,當它是完成它將刷新timegridfooter控件。我可以在我的firebug中看到partialrefresh get方法正在執行,並且調用的返回體包含刷新的數據。但由於某種原因,這些數據不會在我的瀏覽器上刷新。有人能澄清我爲什麼會發生這種情況嗎?這是否是因爲部分刷新正在頁面的更深處發生(又名不同的自定義控件)?

+0

當事件腳本被渲染時,「#{id:TimeGridFooter}」會被翻譯成正確的客戶端ID嗎? –

+0

感謝您的回覆。這確實是一個錯字問題。注意自己:不要編碼,直到它再次變亮。 – jjtbsomhorst

回答

0

看來這是一個錯字。經過一些良好的睡眠後,我再次檢查,現在它可以工作。