获取搜索(已过滤)查看结果的列值

时间:2013-02-22 14:44:41

标签: xpages xpages-ssjs

我在viewPanel上进行搜索查询。当结果显示在视图中时,我想只遍历返回的结果并为每一行构建一个名称数组。我的Xpage视图的第一列中有Name字段。我尝试过以下方法:

var viewControl = getComponent("namesPanel");
var view = viewControl.getDataModel().getDominoViewData().getDataObject();
var entries = view.getAllEntries();
var entry = entries.getFirstEntry();

var namesArray = [];
while(entry)
{
    namesArray.push(entry.getColumnValues().elementAt(0));
    entry = entries.getNextEntry();
}

getComponent("DisplayNames").setValue(namesArray);

无论我的搜索查询如何,上面的代码都会在后端Notes视图中返回每个名称。我意识到有getAllEntriesByKey(),但我的Xpages视图是通过搜索过滤的,而不是按列值过滤。

有没有办法在搜索后只在我视图中显示的结果上构建一个列值数组?感谢您的任何提示。

1 个答案:

答案 0 :(得分:3)

我想我已经弄清楚了。在这里找到了一些帮助:http://www.xsptalk.com/Public/Website/Blog.nsf/dx/04032011122915CCOGNE.htm

var temprows = getComponent("namesPanel");
var modelData = temprows.getDataModel();
var namesArray = [];

for(i=0; i < modelData.getRowCount(); i++)
{
    modelData.setRowIndex(i);
    var xspViewEntry=modelData.getRowData();
    var document=xspViewEntry.getDocument();
    namesArray.push(document.getItemValueString("name"));
}

getComponent("DisplayNames").setValue(namesArray);