2013-03-26 3 views
0

Я создал представление, которое содержит некоторые документы. Я хочу, чтобы у вас был возможность установить флажок рядом с конкретными документами и переместить их в другое представление (или как-то отобразить их на другой странице) и обратно. Поэтому в основном я хочу иметь возможность архивировать документы, а затем перейти на страницу, где я отправил эти документы, и удалить их из архива обратно в представление, где были оригиналы.Перемещение документов между двумя видами

До сих пор у меня есть (это моя точка зрения таблица, которая находится на XPage с флажком рядом с моими документами)

<xp:viewPanel rows="10" id="viewPanel2" viewStyle="width:700.0px"> 
    <xp:this.facets> 
     <xp:pager partialRefresh="true" layout="Previous Group Next" 
      xp:key="headerPager" id="pager2"> 
     </xp:pager> 
    </xp:this.facets> 
    <xp:this.data> 
     <xp:dominoView var="allDocsView" viewName="profilesAllDocs"> 
     </xp:dominoView> 
    </xp:this.data> 
    <xp:viewColumn columnName="LastActivationDate" id="viewColumn6" 
     style="font-size:12pt" showCheckbox="true"> 
     <xp:viewColumnHeader value="Last Activation Date" 
      id="viewColumnHeader6" sortable="true" style="font-size:12pt"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="LoggerID" id="viewColumn7" 
     displayAs="link" openDocAsReadonly="true" style="font-size:12pt"> 
     <xp:this.converter> 
      <xp:convertNumber type="number" integerOnly="true"> 
      </xp:convertNumber> 
     </xp:this.converter> 
     <xp:viewColumnHeader value="Logger ID" id="viewColumnHeader7" 
      style="font-size:12pt"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="ExpectedArrivalDate" id="viewColumn8" 
     style="font-size:12pt"> 
     <xp:viewColumnHeader value="Expected Arrival Date" 
      id="viewColumnHeader8" style="font-size:12pt"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="Status" id="viewColumn9" 
     style="font-size:12pt"> 
     <xp:viewColumnHeader value="Status" id="viewColumnHeader9" 
      style="font-size:12pt"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="Alert" id="viewColumn10" 
     style="font-size:12pt"> 
     <xp:viewColumnHeader value="Alert" id="viewColumnHeader10" 
      style="font-size:12pt"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
</xp:viewPanel> 

Я также создал кнопку. Идея состоит в том, чтобы выбрать некоторые документы, используя этот флажок, щелкнуть по этой кнопке и отправить документы на другой xpages (архив).

Я не уверен, какой код назначить кнопке и флажку и как кнопка будет знать, куда отправлять документы. Любые предложения будут оценены.

ответ

4

Если вам нужно отправить документы с одного вида на другой, вам нужно посмотреть на формулу выбора этого вида. Затем установите значения требуемого поля документа так, чтобы он удовлетворял этой формуле выбора. То же самое произойдет, если вы хотите вернуть документ в исходное представление.

В XPages вы можете получить выбранного документа ноты ID, используя приведенный ниже код (бесстыдно стянутая из here :))

var viewPanel=getComponent("viewPanel2"); 
var docIDArray = viewPanel.getSelectedIds(); 
for(i=0; i < docIDArray.length; i++) { 
    var doc = database.getDocumentByID(docIDArray[i]); 
    // Code to manipulate the 'doc' object 
} 
+0

Naveen, благодарю вас за предложение и ссылку. Однако я довольно новичок в xpages, так что вы можете понять, что вы имеете в виду, когда говорите «задайте значения требуемого поля документа, чтобы он удовлетворял этой формуле выбора». Спасибо – 2013-03-27 15:42:54

+0

'Задайте значения требуемого поля документа так, чтобы оно удовлетворяло формуле выбора' _not_, связанной с XPages. Основы Lotus Notes. Скажем, если формула выбора вида «SELECT Form =« ***** »& Marked =« 1 », тогда для отображения документов в этом представлении вам нужно будет установить поле« Marked »в значение« 1 ». – Naveen

0

Я действительно не нужно перемещать документы в конце концов, просто скрыть их, как некоторые из вас предложили.

У меня было представление с столбцом «Архив», который был скрыт для целей презентации. Значения в Архиве были либо Нет, либо Да (Нет - не архивировано, Да - Архивировано). В следующем столбце был установлен флажок, который использовался для выбора строк, которые необходимо архивировать. Все, что я сделал, было настроено на «Фильтровать по значению столбца», и я установил поле «Нет». Таким образом, в представлении были показаны строки, в которых нет только архива. Для архивирования строки я была кнопка с этим кодом

var viewPanel=getComponent("viewPanel1"); 
var docIDArray=viewPanel.getSelectedIds(); 
for(i=0;i < docIDArray.length; i++) 
{ 
var docId=docIDArray[i]; 
var doc=database.getDocumentByID(docId); 
doc.replaceItemValue("Archive","Yes"); 
doc.save(); 
} 

код не изменил значение в Архиве с Нет на Да и спрятал его в представлении. Чтобы удалить документ из архива таким же способом, но он покажет все значения с помощью Да и измените поле «Архив» на «Нет».

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