我试图通过获取NotesViewEntryCollection,然后循环这个集合来构建一个数组,其中的每个值在一个重复控制中显示一个视图的子集数组包含与条目中列值对应的数组。 <xp:text escape="true" id="computedField1" value="#{javascript:rowData[rowIndex][0]}"></xp:text>
重复控制绑定到重复集合中返回字符串的数组
的错误是::
未知的成员 '0' 在Java类 'java.lang.String中'
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"> <xp:repeat id="repeat1" rows="30" var="rowData" indexVar="rowIndex"> <xp:this.value><![CDATA[#{javascript: var view:NotesView = database.getView("CatalogEntries"); var entryColl:NotesViewEntryCollection = view.getAllEntriesByKey(compositeData.catalog, true); if (entryColl.getCount() == 0) return ["empty"]; var entries = []; var columnVals = []; var entry:NotesViewEntry = entryColl.getFirstEntry(); do { columnVals = []; columnVals.push(entry.getColumnValues()[0]); columnVals.push(entry.getColumnValues()[1]); columnVals.push(entry.getColumnValues()[2]); columnVals.push(entry.getColumnValues()[3]); columnVals.push(entry.getColumnValues()[4]); columnVals.push(entry.getColumnValues()[5]); entries.push(columnVals); entry = entryColl.getNextEntry(entry); } while(!(entry == null)) return entries;}]]></xp:this.value> <xp:text escape="true" id="computedField1" value="#{javascript:rowData[rowIndex][0]}"></xp:text> </xp:repeat> </xp:view>
但我在这条线得到一个错误
有关如何解决此问题的任何想法?
我完全同意Lothar。具有'keys'属性集的dominoView几乎可以做你正在做的事情,但是使用ViewNavigator并限制条目数量是为了获得更好的性能而从运行时收集的,以及回收视图条目和视图条目值(可以包括日期/时间,在回收ViewEntry时不会自动回收)。只有在绝对需要时手动迭代ViewEntries。 'getColumnValues()'必须提取所有列值,所以即使只需要一列,实际上也必须全部得到它们,所以不要在那里保存。 –
完全同意这种方法。非常感谢你! – jpishko