本文介绍了获取搜索(筛选)视图结果的列值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在视图面板上执行搜索查询。当结果显示在视图中时,我希望只遍历返回的结果,并为每一行构建一个名称数组。在我的XPage视图的第一列中有名称字段。我尝试了以下方法:
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视图是按搜索筛选的,而不是按列值筛选的。
有没有方法可以在搜索后仅在我的视图中显示的结果上构建列值数组?谢谢你的提示。
推荐答案
我想我已经弄明白了。在此处找到一些帮助: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);
这篇关于获取搜索(筛选)视图结果的列值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!