2012-07-19 28 views

回答

1

有趣的話題。我試了一下,發現這個解決方案:

我假設你使用的是一個視圖面板(使用類似重複的東西,但可能會讓事情變得更容易一些)。在viewPanel的「All properties」下查找名爲「data> var」的屬性(注意:還有一個「data> data> var」,但這是另一回事!)。在這裏,你輸入一個唯一的名稱來訪問您的視圖項:

<xp:viewPanel rows="30" id="viewPanel1" var="entry">   
    <xp:this.data> 
     <xp:dominoView var="view1" viewName="myView"></xp:dominoView> 
    </xp:this.data> 

我增加了一個額外的列使其數據屬性計算,計算使用當前條目的父視圖導航器對象中的一個條目,並確保這兩個當前並且以前的條目是有效的查看條目對象。然後,結果我返回了前一個條目的NoteID值,以確保我確實可以訪問它。

if(!entry.isCategory()){ 
    var vnav:NotesViewNavigator = entry.getParent(); 
    vnav.gotoEntry(entry.getDocument()) 
    var pentry = vnav.getPrev(); 
    if(pentry!=null){ 
     pentry.getNoteID(); 
    } 
} 

爲了能夠檢查這個正確我增加了一個欄,顯示的當前條目的NoteID:

entry.getNoteID(); 

結果看起來是這樣的:

enter image description here

所以,一旦你有了以前的對象,你也可以訪問它的文檔對象。

編輯:如何獲得的ViewNavigator對象的普通方法:

簡單地創建使用父視圖對象你的ViewNavigator在

var view = database.getView("myView); 
var vnav = view.createViewNav(); 

在另一方面,如果你看到entry.getParent()會導致viewEntryCollection,您可能會嘗試以不同的方式訪問前面的條目:

var vec = entry.getParent(); 
if (vec.toString().indexOf("ViewEntryCollection")>0){ 
    var preventry = vec.getPrevEntry(entry); 
} 
+0

第3行出現錯誤:vnav.gotoEntry(entry.getDocument())腳本解釋器錯誤,line = 3,col = 10:[TypeError]錯誤調用方法'gotoEntry(lotus.domino.local.Document )'在類型爲'lotus.domino.local.ViewEntryCollection [Static Java Interface Wrapper,lotus.domino.local.ViewEntryCollection:lotus.domino.ViewEntryCollection]' – 2012-07-19 11:33:22

+0

'的對象上有趣:這意味着父對象爲您的「條目「是一個viewEntryCollection,而它是我身邊的ViewNavigator。 你可以通過註釋掉整個代碼來驗證這一點。 然後你寫一個新的代碼行,僅用於調試目的: entry.getParent()。toString(); – 2012-07-19 11:54:50

+0

無論如何,如果你收到一個viewEntryCollection,那麼你將不得不創建viewNvaigator的標準方式,如 NotesView.createViewNav(); 然後,你應該能夠遵循原始代碼... 也許以後我會發佈一個替代方法,使用重複控制,如果我找到時間 – 2012-07-19 12:05:19

相關問題