2013-02-07 27 views
0

我正在使用文件下載控件,並且我想根據文檔處於編輯模式還是讀取模式來動態設置「allowDelete」屬性的值。但是,這個 屬性是計算onload的頁面。我試圖在按鈕的onclick事件或自定義控件的「beforeRenderResponse」事件以及部分或全部更新上調用函數「setAllowDelete(boolean)」來更改屬性的值,但沒有更改。動態計算文件下載的allowDelete屬性xpages

你知道是否有辦法做到這一點?

非常感謝!

回答

2

我遇到了同樣的問題。有兩個選項可以解決它。

1)要使用兩個控件,一個啓用刪除,另一個禁用刪除,並根據編輯狀態(或用戶角色)使用呈現的屬性。

2)通過您自己的數據表或重複呈現下載控件。但是,該解決方案也有its own problems

+0

謝謝你的建議!你能解釋一下更多的第二個選擇嗎? – kmak

+0

在我已經鏈接的問題鏈接到API文檔http://public.dhe.ibm.com/software/dw/lotus/Domino-Designer/JavaDocs/XPagesExtAPI/8.5.2/com/ibm/xsp/model/多米諾/包裹/ DominoDocument.AttachmentValueHolder.html。從那裏你可以調用getAttachmentList()方法並將其饋入dataTable或重複。行將基於FileRowData方法呈現屬性。在docuemnt數據源級別,您將調用removeAttachment()方法從文檔中刪除附件。 –

+0

謝謝!我想我現在明白你的意思了。但是,我嘗試了第一個選項,它有點不同。我添加了兩個有兩個文件下載的面板,並且僅顯示一個文檔是處於編輯模式還是處於讀取模式。它似乎有效。 – kmak

0

你試過只是計算這樣的屬性?

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

謝謝你的回答,但不幸的是我已經試過了。問題是我有一個重複的文檔控制,當我點擊文檔時,我打開一個包含文件下載的自定義控件。這是通過部分刷新來完成的,所以xpage僅在開始時加載。上面的代碼只計算由於$而導致的onload。我想用#替換$來使其動態計算,但它不允許我。 – kmak

+0

啊,我明白了。 –