2015-06-04 56 views
0

我是xpages和IBM的新手,以及一般的新手,以及JavaScript新手。为了让你更容易理解我的问题,我添加了一个我想要做的事例。通过模式复选框选择将文档添加到另一个文档

示例:我创建了一个Person文档,现在我想向该Person添加一个事件,反之亦然(意思是当我向该人员添加事件时,将人员添加到该事件中)。

所以我使用文档只读模式来预览个人文档,并在里面只读模式我有一个<xp:panel>其中包含引导面板。在引导面板的标题中,有一个连接到模态的按钮,其中包含事件文档的视图。在引导面板的主体中,有一个视图可以预览添加的事件。

在模态中,我在第一列中添加了复选框,以便我可以选择要添加到Person文档的项目。

我需要将什么操作添加到模式的“添加”按钮中,以将选定的文档添加到“个人”文档中?

<xp:panel> 
     <xp:this.rendered><![CDATA[#{javascript:!DodajOseb.isNewNote() !DodajOseb.isEditable()}]]></xp:this.rendered> 

     <div class="panel panel-default" style="margin-left:auto;margin-right:auto;width:60%"> 
      <div class="panel-heading"> 
       <h3 class="panel-title"> 
        Events 
        <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" style="margin-left:80%;"> 
         Add an event 
        </button> 
       </h3> 

       <!-- Modal --> 
       <div id="myModal" class="modal fade" role="dialog"> 
        <div class="modal-dialog"> 

         <!-- Modal content--> 
         <div class="modal-content"> 
          <div class="modal-header"> 
           <button type="button" class="close" data-dismiss="modal"> 
            <span class="glyphicon glyphicon-remove-circle"></span> 
           </button> 
           <h4 class="modal-title"> 
            Choose events&#160;<small>that you want to add</small> 
           </h4> 
          </div> 
          <div class="modal-body"> 
           <p> 
            <xp:panel> 
             <xp:this.data> 
              <xp:dominoView var="DogodekView" viewName="Dogodki_Rez" keys="#{javascript:sessionScope.imeDogodka}"> 
              </xp:dominoView> 
             </xp:this.data> 
             <xp:viewPanel rows="7" id="viewPanel1" viewStyle="width:100.0%"> 
              <xp:this.facets> 
               <xp:pager partialRefresh="true" layout="Previous Group Next" xp:key="headerPager" id="pager1"> 
               </xp:pager> 
              </xp:this.facets> 

              <xp:this.data> 
               <xp:dominoView var="Dogodki" viewName="Dogodki" keys="#{javascript:sessionScope.imeDogodka}"> 
               </xp:dominoView> 
              </xp:this.data> 

              <xp:viewColumn columnName="NMnaziv" id="viewColumn2" style="text-align:center" showCheckbox="true"> 
               <xp:viewColumnHeader value="Event" id="viewColumnHeader2" style="text-align:center"> 
               </xp:viewColumnHeader> 
              </xp:viewColumn> 
              <xp:viewColumn columnName="RadioButton" id="viewColumn4" style="text-align:center"> 
               <xp:viewColumnHeader value="Duration" id="viewColumnHeader4" style="text-align:center"> 
               </xp:viewColumnHeader> 
              </xp:viewColumn> 
              <xp:viewColumn columnName="TXlokacija" id="viewColumn15" style="text-align:center"> 
               <xp:viewColumnHeader value="Location" id="viewColumnHeader15" style="text-align:center"> 
               </xp:viewColumnHeader> 
              </xp:viewColumn> 
              <xp:viewColumn columnName="AUorganizator" id="viewColumn16" style="text-align:center"> 
               <xp:viewColumnHeader value="Author" id="viewColumnHeader16" style="text-align:center"> 
               </xp:viewColumnHeader> 
              </xp:viewColumn> 
             </xp:viewPanel> 
            </xp:panel> 
           </p> 
          </div> 
          <div class="modal-footer"> 

           <xp:button value="Save" id="button6"> 
            <xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler> 
           </xp:button> 
          </div> 
         </div> 

        </div> 
       </div> 
      </div> 
      <div class="panel-body"> 
       <xp:panel id="panelMain"> 
        <xp:this.data> 
         <xp:dominoView var="view1" viewName="Dogodki"> 
         </xp:dominoView> 
        </xp:this.data> 
        <xp:text escape="true" id="computedField1" style="display:none;"> 
         <xp:this.value><![CDATA[#{javascript://*var vw:NotesView = database.getView("(vwPovezava)"); requestScope.data = new Array(@DbLookup("","(vwPovezava)","385A946ECD7C3207C1257E58002DE8A3",2),"467DD3771032D779C1257E570043CF5D");}]]></xp:this.value> 
        </xp:text> 
        <div class="row"> 
         <div class="col-md-2"> 
          <xp:label value="" id="label2">Event</xp:label> 
         </div> 
         <div class="col-md-2"> 
          <xp:label value="" id="label4">Duration</xp:label> 
         </div> 
         <div class="col-md-2"> 
          <xp:label value="" id="label5">Starting date</xp:label> 
         </div> 
         <div class="col-md-2"> 
          <xp:label value="" id="label6">Ending date</xp:label> 
         </div> 
         <div class="col-md-2"> 
          <xp:label value="" id="label7">Location</xp:label> 
         </div> 
         <div class="col-md-2"> 
          <xp:label value="" id="label8">Author</xp:label> 
         </div> 
        </div> 
        <xp:br></xp:br> 
        <xp:repeat id="repeat1" rows="30" var="rowData" indexVar="indexData" value="#{javascript:requestScope.data}" style="text-align:center;"> 
         <div class="row" rows="0"> 
         <xp:text escape="true" id="computedField3" style="display:none;"> 
          <xp:this.value><![CDATA[#{javascript:var vw = database.getView("Dogodki"); requestScope.docData = vw.getDocumentByKey(rowData);}]]></xp:this.value> 
         </xp:text> 

         <div class="col-md-2"> 
         <xp:text escape="true" id="event" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValueString("NMnaziv");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div class="col-md-2"> 
         <xp:text escape="true" id="duration" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValueString("RadioButton");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div class="col-md-2"> 
         <xp:text escape="true" id="startingDate" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValue("TXodDatuma");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div class="col-md-2"> 
         <xp:text escape="true" id="endingDate" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValue("TXdoDatuma");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div class="col-md-2"> 
         <xp:text escape="true" id="location" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValueString("TXlokacija");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div class="col-md-2"> 
         <xp:text escape="true" id="author" tagName="div" style="float:left;"> 
          <xp:this.value><![CDATA[#{javascript:return requestScope.docData.getItemValueString("AUorganizator");}]]></xp:this.value> 
         </xp:text> 
         </div> 
         <div style="clear:both;">&#160;</div> 
         </div> 
        </xp:repeat> 
       </xp:panel> 
      </div> 
     </div> 
    </xp:panel>' 

回答

2

我建议,而不是试图将事件添加到个人文档,你只是这个人的名字添加到与会者现场对所选的每个事件的文件。然后,您可以使用我们在“旧Notes”中调用的内容显示该人员添加到的事件,这是一种单一类别的嵌入式视图。

挑战在于你有那种模式,但是这些数值并没有保存在任何地方。当数据未绑定到文档时保存文档意味着复选框列的选择没有意义。目前这只是一个信息显示。如果您使用该XPage重新打开文档,则在重新打开模式时不会检查任何内容。

见@SerdarBasegmez回答这个问题,了解如何将人的名字添加到已选中的每个文档:How to get marked rows in the XPages Extension Library <xe:dataView> design element?

+0

感谢您的答复。我写错了问题,我的事件(在个人文档中看到)不在视图中,而是在改变事物,还是仍然如同我试图将事件添加到视图一样?我很抱歉遇到麻烦,但我对JavaScript和xpages有点新鲜。 –

+0

无论哪种情况,您都必须向文档添加值。塞尔达的回答为如何做到这一点提供了一些指导。 –

+0

谢谢你的帮助。 –

相关问题