2012-07-19 27 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

相关问题