为什么不从 Xpages 动态视图工作中删除文档
Why wont delete document from Xpages Dynamic View work
我创建了一个带有 DynamicViewPanel 的新 XPage,它在某个 Notes 视图中列出了文档。然后我将动态视图面板配置为显示每行的复选框。然后,我在动态视图面板下方创建了一个按钮,计划 select 带有复选框的文档,然后单击该按钮将其删除。下面是我的按钮的 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>
找到解决方案并将其作为问题中的编辑代码发布。更改了按钮元素中的标签以包含事件处理程序并将其包含在操作组标签中
我知道这已得到解答 - 虽然说实话我不确定我是否喜欢答案中的代码。不,它没有 "look right"。我把它粘贴到我的设计师那里,但它看起来不对。我认为应该是这样的:
<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>
我创建了一个带有 DynamicViewPanel 的新 XPage,它在某个 Notes 视图中列出了文档。然后我将动态视图面板配置为显示每行的复选框。然后,我在动态视图面板下方创建了一个按钮,计划 select 带有复选框的文档,然后单击该按钮将其删除。下面是我的按钮的 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>
找到解决方案并将其作为问题中的编辑代码发布。更改了按钮元素中的标签以包含事件处理程序并将其包含在操作组标签中
我知道这已得到解答 - 虽然说实话我不确定我是否喜欢答案中的代码。不,它没有 "look right"。我把它粘贴到我的设计师那里,但它看起来不对。我认为应该是这样的:
<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>