为什么不从Xpages Dynamic View工作中删除文档

时间:2015-03-26 13:02:46

标签: xpages

我创建了一个带有DynamicViewPanel的新XPage,它列出了某个Notes视图中的文档。然后我将动态视图面板配置为显示每行的复选框。然后,我在动态视图面板下创建了一个按钮,其中包含使用复选框选择文档的计划,然后单击按钮将其删除。下面是我的按钮的Xpages代码,但为什么这不起作用?

<xp:button value="Delete" id="delete">

   <xp:this.onclick submit="true" refreshMode="complete">
    <![CDATA[#{javascript:var viewPanel=getComponent  
      ("dynamicViewPanel1");
     var docIDArray=viewPanel.getSelectedIds();
       for(i=0; i < docIDArray.length; i++){
         var docId=docIDArray[i];
         var doc=database.getDocumentByID(docId);
         doc.remove(true);
     }}]]></xp:this.onclick>
</xp:button>

编辑:更改为以下后似乎正在工作

<xp:button value="Delete" id="delete">
  <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
   <xp:this.action>
     <xp:actionGroup>
       <![CDATA[#{javascript:var viewPanel=getComponent
          ("dynamicViewPanel1");
         var docIDArray=viewPanel.getSelectedIds();
         for(i=0; i < docIDArray.length; i++){
           var docId=docIDArray[i];
           var doc=database.getDocumentByID(docId);
           doc.remove(true);
        }}]]>
      </xp:actionGroup>
     </xp:this.action>
    </xp:eventHandler>
 </xp:button>

2 个答案:

答案 0 :(得分:0)

找到一个解决方案并将其作为编辑后的代码发布在问题中。更改了按钮元素中的标记以包含事件处理程序,并将其包含在操作组标记

答案 1 :(得分:0)

我知道这已经得到了解答 - 虽然说实话但我不确定我喜欢答案中的代码。不,它不“看起来正确”。我把它粘贴到我的设计师那里看起来不对劲。这应该是我想的那样:

<xp:button value="Label" id="button3">
    <xp:eventHandler event="onclick" submit="true"
                    refreshMode="complete">
                    <xp:this.action><![CDATA[#{javascript:var viewPanel=getComponent
              ("dynamicViewPanel1");
             var docIDArray=viewPanel.getSelectedIds();
             for(i=0; i < docIDArray.length; i++){
               var docId=docIDArray[i];
               var doc=database.getDocumentByID(docId);
               doc.remove(true);
               }}]]></xp:this.action>
                </xp:eventHandler></xp:button>