2013-03-11 111 views
0

我有一个列表框,我试图从names.nsf中的人视图获取数据。通过按列值过滤从数据源获取数据?

计算人物视图的第一列,并显示姓氏,名字。

下面的代码适用于我的列表框值,但它没有考虑按列值过滤的值。 Basiclly下面的代码就像Filter By Column value属性不存在一样。我知道“按列过滤值”属性正在工作,因为我用计算字段替换了页面上的重复控件,重复控件显示的值超出预期,但列表框显示的是视图中第一个文档的值。

思考,我不得不解决这个问题是:

使用getAllDocumentsByKey只是搜索的人查看,但是当我这样做,我失去了列值,我需要重新计算价值,这东西我想避免如果可能,则列公式更改。

使用FTSearch,但我真正需要做的是仅搜索第一列,我不知道只搜索列的搜索运算符。有这样的事吗?

另一个想法是以某种方式使用重复控制的值作为我的列表框的值,但我猜测这是不可能的。我有点思考一个范围varibale的东西,但我还没有解决这个问题。

重复控制的作品。我怎样才能让我的代码像重复控件一样循环遍历doeuments?

而作为一个侧面的问题,是否有将寻呼机与数据源绑定为重复控制的问题。

顺便说一句我现在做的是使用一些计算字段和一个重复控件来建立一个列表框,但我真正想要做的是使用一个正常的xpages列表框控件。

下面是代码:

var doc:NotesDocument = view1.getFirstDocument(); 

while (doc != null && count<10) 
{  
    var tmpDoc:NotesDocument = view1.getNextDocument(doc) 
    ret.push(doc.getColumnValues()[1]); 
    doc.recycle(); 
    count++; 
    doc = tmpDoc; 
} 

回答

2

尝试使用getAllEntriesByKey。这会让您访问列值(通过视图条目的ColumnValue属性)。

+0

谢谢你的工作。现在我需要做的就是弄清楚如何分页数据。现在我需要弄清楚如何分页数据。以某种方式获得重复控制或将寻呼机绑定到数据源上肯定会很好。 Perphas我会为此创建另一篇文章。 – 2013-03-12 12:20:25