В диалоговом окне xp: у меня есть кнопка, которая загружает внутренние данные и закрывает диалоговое окно.
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick"
submit="true" refreshMode="partial" refreshId="rptContainer">
<xp:this.action><![CDATA[#{javascript:
//load data. will not add the code for that but works fine;
viewScope.put("customers",promoBean.getCampaign().getCustomers());
getComponent("dlgCampaign").hide();}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
В случае события я установил частичное обновление для элемента управления xp: panel, который содержит повторяющийся элемент управления, связанный с данными для viewScope.
<xp:panel id="rptContainer">
<xp:repeat id="rptCustomers" var="obj" indexVar="index" value="#{viewScope.customers}">...
С помощью панели отладки xpages я вижу, что viewScope от кнопки в диалоге обновляется. но когда диалоговое окно закрыто, изменения не отображаются в элементе управления повтором.
Я поместил кнопку вне диалогового окна, которая выполняет только частичное обновление, а затем повторный элемент управления отображает изменения.
Может кто-нибудь объяснить мне, как я могу обновить элемент управления повторением из диалогового окна?
Я попробовал свойство onHide диалогового окна и использовал его как код:
XSP.partialRefreshGet('#{id:rptContainer}');
Но это никак не влияет.
Я даже попытался полностью обновить событие кнопки, но это также не дало результата.
Может кто-нибудь подсказать мне, как это сделать правильно?