动态计算文件下载xpages的allowDelete属性

动态计算文件下载xpages的allowDelete属性,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我使用的是文件下载控件,我想根据文档是处于编辑模式还是读取模式,动态设置“allowDelete”属性的值。但是, 属性是在页面加载时计算的。我尝试在按钮的onclick事件上调用函数“setAllowDelete(boolean)”,或者在自定义控件的“beforeRenderResponse”事件上调用函数,并进行部分或完全更新以更改属性的值,但没有更改 你知道有没有办法做到这一点吗 提前多谢 您是否尝试过这样计算属性 <xp:fileDownload .... > &l

我使用的是文件下载控件,我想根据文档是处于编辑模式还是读取模式,动态设置“allowDelete”属性的值。但是, 属性是在页面加载时计算的。我尝试在按钮的onclick事件上调用函数“setAllowDelete(boolean)”,或者在自定义控件的“beforeRenderResponse”事件上调用函数,并进行部分或完全更新以更改属性的值,但没有更改

你知道有没有办法做到这一点吗


提前多谢

您是否尝试过这样计算属性

<xp:fileDownload .... >
    <xp:this.allowDelete><![CDATA[${javascript:
        return document.isEditable()}]]>
    </xp:this.allowDelete>
</xp:fileDownload>

我遇到了同样的问题。有两种解决方法

1) 使用两个控件,一个启用删除,另一个禁用删除,并根据编辑状态(或用户角色)使用呈现的属性


2) 自己呈现下载控件,如数据表或重复。不过,这个解决方案也有问题。

谢谢您的回答,但不幸的是,我已经尝试过了。问题是,我有一个带有文档的repeat控件,当我单击文档时,我会打开一个包含文件下载的自定义控件。这是通过部分刷新完成的,因此xpage只在开始时加载。上面的代码只计算由于$而导致的onload。我想将$替换为#以使其动态计算,但它不允许我。谢谢您的建议!请你再解释一下第二个选项好吗?我链接的问题是API文档的链接。从那里,您可以调用getAttachmentList()方法并将其馈送到dataTable或repeat。行将基于FileRowData方法呈现属性。在docuemnt数据源级别,您将调用removeAttachment()方法从文档中删除附件。谢谢!我想我现在明白你的意思了。然而,我尝试了第一种选择,但有点不同。我添加了两个带有两个文件下载的面板,并且无论文档处于编辑模式还是读取模式,都只呈现一个。它似乎起作用了。