0

我在 ViewPanel 控件中使用属性 StartKeys..但是没有刷新寻呼机以通过 SartKey 转到正确的页面。你有什么建议吗?

我的寻呼机在 ViewPanel 内

<xp:viewPanel rows="30" id="viewPanel1" var="rowData" showUnreadMarks="true">
 ......column value....
<xp:pager partialRefresh="true" layout="Previous Group Next" id="pager1" 
styleClass="vhead3" for="viewPanel1" alwaysCalculateLast="true"
partialExecute="true"> 
</xp:pager>
</xp:viewPanel>
4

2 回答 2

2

这里没有错误。如果要更改寻呼机, startKeys 不是您想要的。

这里有三个物体在起作用。XPages 运行时使用 database.getView("") 检索到的 View 对象,该对象使用在 dominoView 数据源的 viewName 属性中指定的视图名称。那是底层数据库视图,它不能被 dominoView 数据源修改。对于具有相同列的每个人来说,这都是相同的视图。内容将仅在读者字段方面有所不同。

dominoView 数据源允许您为此用途细化基础视图的内容 - 搜索选项、过滤器和此处的 startKeys。这不会改变底层 View 对象中的内容。

然后查看面板或数据视图或您选择的任何内容。这是 dominoView 数据源的表示,并且寻呼机绑定到此。向前移动一个页面不会改变 dominoView 对象,它只会改变 ViewPanel 中显示的行。

因此,在数据视图上设置第一个属性将告诉它从 dominoView 中检索第 n 行,因此将更改寻呼机。但是,在 dominoView 上设置 startKeys 或 keys 或 search 属性将更改可用于数据视图的视图条目,但不会更改应返回该 dominoView 中的哪一行。如果您从 dominoView 显示第 14 行,并且更改了应用于 dominoView 的过滤器,那么您仍将在数据视图中显示第 14 行。只是第 14 行现在将是一个不同的视图条目,因为 dominoView 的内容将发生变化。

基本上,它显示了 dominoView 数据源结果的正确页面。

您期望 startKeys 属性应应用于 View Panel,而不是应用于 dominoView 以优化 View 对象显示的结果。(而且我只是意识到这就是我自己正在发生的事情,即使它在逻辑上是明智和正确的!)

如果要跳转到视图面板的特定页面或视图条目,则需要在视图面板上设置第一个属性或其他一些属性。如果您想细化可供用户使用的条目,您应该更改 dominoView 上的属性。

于 2014-05-09T09:19:24.297 回答
0

你可以发布你的代码吗?寻呼机在哪里?如果它在视图面板之外,它不会更新 - 下一个问题与数据表有同样的问题(视图面板组件扩展了数据表)。

使用 startKeys 和寻呼机当前页面似乎存在问题(Domino 8.5.3)。

在 ViewPanel 上设置“first”属性可能是一种解决方法。我在非分类视图上尝试过它,它工作正常。

var ec=view1.getAllEntriesByKey("myKey");
var ent:NotesViewEntry=ec.getFirstEntry();
pos=ent.getPosition(".");
return pos;
于 2012-09-06T21:18:59.803 回答