Okay I did what I'm sure is some kind of mutant hack, and sort of got it working.
I'm stumped as to where to put the Pager, though. If I put it inside the section I called "Master Repeat", then I get a repeated pager all down the page. If it put it anywhere else, the page won't load, with an error about pager not having any data to work with.
Any hints how to salvage this, or is it all just so wrong that it needs ripping apart?
___________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoView var="varProgramsRelatedDonors"
viewName="Programs Related Donors">
</xp:dominoView>
</xp:this.data>
<xp:this.resources>
<xp:styleSheet href="/screen.css"></xp:styleSheet>
</xp:this.resources>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:text escape="true" id="computedField2">
<xp:this.value>
<![CDATA[#{javascript:getComponent("MasterRepeat").getRowCount();}]]>
</xp:this.value>
</xp:text>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:repeat id="MasterRepeat" rows="30" value="#{varProgramsRelatedDonors}" var="personData">
<xp:text style="display: none" escape="true" id="RefDonor" value="#{personData.RefPerson}">
</xp:text>
<h3><xp:text escape="true" id="computedField3" value="#{personData.NameOfDonor}">
</xp:text></h3>
<xp:label id="label1">
<xp:this.value>
Total: <![CDATA[#{javascript:
var cView:NotesView = database.getView("(Donations for Update Agent)");
var nav:NotesViewNavigator = cView.createViewNav();
var keys = getComponent("RefDonor").getValue();
// Since you can’t do ‘getCategory’ – find the first doc and backup 1
var entry:NotesViewEntry = cView.getEntryByKey(keys);
entry = nav.getPrev(entry);
if (entry == null) {
// Nothing to Do
}
else {
return entry.getColumnValues()[3];
}}]]>
</xp:this.value>
</xp:label>
<xp:viewPanel rows="30" id="DonationsDisplay" viewStyle="width:250px">
<xp:this.data>
<xp:dominoView var="DonationsView" viewName="(Donations for Update Agent)">
<xp:this.keys><![CDATA[#{javascript:
var keys = getComponent("RefDonor").getValue();
return keys;}]]></xp:this.keys>
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="DateOfGift" id="viewColumn1" style="width:100px">
<xp:viewColumnHeader value="DateOfGift"
id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="Amount" id="viewColumn2" style="width:100px;text-align:right">
<xp:this.converter>
<xp:convertNumber type="currency"></xp:convertNumber>
</xp:this.converter>
<xp:viewColumnHeader value="Amount" id="viewColumnHeader2">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
</xp:repeat>
<xp:br></xp:br>
<xp:br></xp:br>
</xp:view>