2015-06-12 83 views
1

我試圖刪除Xpages重複控件中的選定項,但它不起作用。請幫忙? 這是我在重複控制部分代碼嘗試刪除XPages重複控件中的選定項,但不起作用

<xp:repeat id="repeat1" rows="30" var="eachQuestion" value="#{questions}" 
       indexVar="rowIndex"> 
<tr> 
<td>...</td> 
<td> <xp:link  styleClass="btn btn-danger" id="deleteLink"> 
    <xp:eventHandler event="onClick" 
     action="#{javascript:eachQuestion.getDocument().remove(true);}" 
     submit="true" 
     refreshMode="partial" 
     refreshId="listContainer" /> 
     <i class="fa fa-lg fa-trash-o" /> 
    </xp:link> </td> 
</tr> 
</xp:repeat> 

以下是我可以在客戶端頁面中看到,生成HTML和JS代碼:

XSP.addOnLoad(function() { 
XSP.attachPartial("view:_id1:repeat1:0:_id44","view:_id1:repeat1:0:deleteLink", null, "onClick", function(){}, 2, "view:_id1:listContainer"); 

當我點擊刪除鏈接圖標,沒有什麼發生了。 我意識到function(){}裏面沒有東西。 有沒有什麼不對,或者我必須在Java代碼中實現該方法來處理這種刪除操作?

謝謝,

回答

2

你只需要改變「上Ç舔」到「上Ç舔」在你的代碼,它會工作。

區分大小寫在Xpages中很重要。所以,你的代碼刪除一個文件是正確的,但事件「onClick」根本沒有得到執行。

+0

你有犀利的眼睛,謝謝。 – Kevin

-1

你不說什麼「問題」是。我認爲這是一個觀點。代碼看起來很適合我。在重複控制中,您肯定不需要Java從rpw中刪除文檔。

我會忽略客戶端的東西。這是服務器生成的。我認爲這應該是空洞的。服務器知道該怎麼做。

首先檢查數據庫ACL。確保用戶具有刪除訪問權限。我還會在頁面上添加一個顯示錯誤控件。如果由於驗證問題而沒有刪除它,它應該在那裏顯示。然後,我會去OpenNTF並獲取XPage日誌讀取器控件。這是一個小的xpages數據庫,讓你更容易看到錯誤。

我會從這些想法開始。

順便說一句,這不是一個好的方法來重複控制表。它應該會產生無效的HTML。你應該使用Facets。那不是你的問題。

+0

是的,你是對的,「問題」是在這些代碼之前聲明的視圖。我檢查了ACL,對我來說看起來很好。我在頁面上添加了「顯示錯誤」控件,但點擊鏈接後框中沒有任何內容。 我是否需要在代碼中執行某些操作以觸發此消息? – Kevin