Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages 在视图中,单击“更改上一行和当前行的值”_Xpages_Xpages Ssjs - Fatal编程技术网

Xpages 在视图中,单击“更改上一行和当前行的值”

Xpages 在视图中,单击“更改上一行和当前行的值”,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我想更改视图中单击行的后端文档中的字段值,但也要更改前一行的值。 做这件事最好的方法是什么?有趣的话题。我只是尝试了一下,找到了这个解决方案: 我假设您使用的是一个视图面板(不过,使用类似于重复的东西可能会使事情变得更简单)。在viewPanel的“所有属性”下,查找名为“data>var”的属性(注意:还有一个“data>data>var”,但这是另一回事!)。在此输入唯一名称以访问视图条目: <xp:viewPanel rows="30" id="viewPanel1" var="en

我想更改视图中单击行的后端文档中的字段值,但也要更改前一行的值。
做这件事最好的方法是什么?

有趣的话题。我只是尝试了一下,找到了这个解决方案:

我假设您使用的是一个视图面板(不过,使用类似于重复的东西可能会使事情变得更简单)。在viewPanel的“所有属性”下,查找名为“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:

entry.getNoteID();
结果如下所示:

因此,一旦您拥有上一个对象,您也可以访问其文档对象

编辑:如何以普通方式获取viewNavigator对象:

只需使用父视图对象创建viewNavigator,如中所示

var view = database.getView("myView);
var vnav = view.createViewNav();
另一方面,如果您看到条目.getParent()会导致viewEntryCollection,那么您不妨尝试以不同的方式访问上一条条目:

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

第3行出现错误:vnav.gotoEntry(entry.getDocument())脚本解释器错误,第3行,col=10:[TypeError]调用“lotus.domino.local.Document”类型的对象上的方法“gotoEntry(lotus.domino.local.Document)”时出错[静态Java接口包装器,lotus.domino.local.ViewEntryCollection:lotus.domino.ViewEntryCollection]'这很有趣:这意味着您的“条目”的父对象是viewEntryCollection,而在我这边是ViewNavigator。您可以通过注释掉整个代码来验证这一点。然后您编写一个新的代码行用于调试目的:entry.getParent().toString();无论如何,如果您收到viewEntryCollection,则必须以标准方式创建ViewNavigator,如NotesView.createViewNav();然后您应该能够按照原始代码进行操作……如果找到本专栏中给出的timeentry.getParent().toString();可能稍后我会发布一个使用repeat控件的替代方法:lotus.domino.local。ViewEntryCollection@26322632对于每一行,它都是相同的。这正常吗?条目.getNoteID();给出了正确的示例11FE、123A等。似乎我遇到了上述问题(第3行出现错误),因为我在此视图上进行了搜索。当我删除搜索时,它会工作。
var vec = entry.getParent();
if (vec.toString().indexOf("ViewEntryCollection")>0){
    var preventry = vec.getPrevEntry(entry);
}