2014-01-09 2 views
1

У меня есть кнопка на xpage, которая создает документ и обновляет элемент управления повтора. Все работает нормально, за исключением того, что элемент управления повторения показывает недавно добавленный документ в верхней части таблицы (IMG1).XPage - Управление повторным обновлением

Но после того, как освежить XPage снова, контроль повтора делает таблицу правильно (IMG2)

Повторите код

<xp:panel> 
    <xp:table style="width:100.0%"> 
    <xp:tr> 
     <xp:td style="font-weight:bold"> 
     Hardware 
     </xp:td> 
     <xp:td style="font-weight:bold"> 
     Quantity 
     </xp:td> 
     <xp:td style="font-weight:bold"> 
     Asset Tag No 
     </xp:td> 
     <xp:td style="font-weight:bold"> 
     Previous User 
     </xp:td> 
     <xp:td> 
     </xp:td> 
    </xp:tr> 
    <xp:repeat id="rpHardware" rows="30" var="clHardwares"> 
     <xp:this.value> 
     <![CDATA[#{javascript:var docMain:NotesDocument = compositeData.docOnboarding.getDocument(); 
var vwApp:NotesView = database.getView("lkupHardwaresByParentID"); 
vwApp.getAllDocumentsByKey(docMain.getUniversalID(),true)}]]> 
     </xp:this.value> 
     <xp:tr> 
     <xp:td> 
      <xp:text escape="true" id="cfHWName"> 
      <xp:this.value> 
       <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_Name")}]]> 
      </xp:this.value> 
      </xp:text> 
     </xp:td> 
     <xp:td> 
      <xp:text escape="true" id="cfHWQuantity"> 
      <xp:this.value> 
       <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_Quantity")}]]> 
      </xp:this.value> 
      </xp:text> 
     </xp:td> 
     <xp:td> 
      <xp:text escape="true" id="cfHWAssetTagNo"> 
      <xp:this.value> 
       <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_AssetTagNo")}]]> 
      </xp:this.value> 
      </xp:text> 
     </xp:td> 
     <xp:td> 
      <xp:text escape="true" id="cfHWPreviousUser"> 
      <xp:this.value> 
       <![CDATA[#{javascript:clHardwares.getItemValueString("REQ_HW_PreviousUser")}]]> 
      </xp:this.value> 
      </xp:text> 
     </xp:td> 

     <xp:td> 
      <xp:link escape="true" text="Edit" id="link4"> 
      <xp:eventHandler event="onclick" 
      submit="true" refreshMode="complete"> 
       <xp:this.action> 
       <![CDATA[#{javascript:viewScope.put("selHardware",clHardwares.getNoteID()); 
getComponent("dlgAddHardware").show();}]]> 
       </xp:this.action> 

      </xp:eventHandler> 
      </xp:link> 
      <xp:link escape="true" id="link5" text="Delete"> 
      </xp:link> 
     </xp:td> 
     </xp:tr> 
    </xp:repeat> 
    </xp:table> 
</xp:panel> 

IMG1

IMG2

ответ

4

Вы пробовали настройки свойство «removeRepeat» повтора для TRUE? Это удаляет ненужные элементы управления, созданные после повтора после выполнения задания.

(повтор >> Все свойства >> основы)

EDIT:

забыл упомянуть, что ваша кнопка не может выполнить частичное обновление на самом повторении, если это свойство имеет значение TRUE. Вместо этого дайте вашему окружающему столу или дополнительной панели свой собственный идентификатор, который вы можете использовать для выполнения обновления необходимости.

+0

Большое спасибо. Сейчас он работает нормально. – Saravanan

0

Обновлено ли ваше представление после создания нового документа?

database.getView ("ViewName"). Refresh();

+0

Спасибо. Просмотр обновления не является проблемой, так как я могу видеть последние данные. Проблема была только в форматировании. Теперь он был исправлен после следующего предложения Лотара – Saravanan

Смежные вопросы