ViewPanel按StartKeys过滤...但寻呼机不更新

时间:2012-09-06 12:03:00

标签: xpages xpages-ssjs

我将属性StartKeys用于ViewPanel控件..但是没有刷新寻呼机以转到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>

2 个答案:

答案 0 :(得分:2)

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

这里有三个物体在玩。 XPage运行时使用database.getView(&#34;&#34;)使用dominoView数据源的viewName属性中指定的视图名称检索的View对象。这是底层数据库视图,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上的属性。

答案 1 :(得分:0)

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

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

在ViewPanel上设置“first”属性可能会起到解决方法的作用。我在一个未分类的视图上尝试过,它运行正常。

var ec=view1.getAllEntriesByKey("myKey");
var ent:NotesViewEntry=ec.getFirstEntry();
pos=ent.getPosition(".");
return pos;