(Updated 2002 & 2003) 
 
Field Setup for Use of Next & Previous Navigation Buttons in View Template ($$ViewTemplate) Form 
 
Query_String_Decoded - CFD - Text 
Query_String_Decoded 
 
viewAlias - CFD - Text 
tmp:=@Subset(@ViewTitle;-1); 
@ReplaceSubstring(@ReplaceSubstring(tmp; "\\"; "/"); " "; "+") 
 
Start - CFD - Text 
tmp:=@LowerCase(Query_String_Decoded); 
tmp2:=@Right(tmp; "&start="); 
tmp3:=@If(@Contains(tmp2; "&"); @Left(tmp2; "&"); tmp2); 
@If(tmp3=""; "1"; tmp3) 
 
Count - CFD - Text 
tmp:=@LowerCase(Query_String_Decoded); 
tmp2:=@Right(tmp; "&count="); 
tmp3:=@If(@Contains(tmp2; "&"); @Left(tmp2; "&"); tmp2); 
@If(tmp3=""; "10"; tmp3) 
 
NAVIGATION BUTTONS: 
Previous Button 
Link Hotspot --> URL -- Formula 
tmp:=(@TextToNumber(start) - @TextToNumber(count)); 
tmp2:=@If(tmp<1; "1"; @Text(tmp)); 
"/" + dbPath + "/" + @Subset(viewAlias; -1) + "/?OpenView&start=" + tmp2 + "&count=" + count 
Hide-when: 
tmp:=@TextToNumber(start); 
tmp<2 
 
Next Button 
Link Hotspot --> URL --> Formula 
tmp:=(@TextToNumber(start) + @TextToNumber(count)); 
tmp2:=@If(tmp<1; "1"; @Text(tmp)); 
"/" + dbPath + "/" + @Subset(viewAlias; -1) + "/?OpenView&start=" + tmp2 + "&count=" + count 
Note: determining the end of a view is a tricky thing. Categorized view navigation is tricky due to twistie collapsing and expansion. If it is a non-categorized view you can do a count on view.entries() using queryopen or dbcolumn count if you know the view is small. 
 
 
Hiding View Previous & Next Buttons When No Previous or Next Page 
 
Hiding the Next and Previous buttons in a view template when they are not appropriate.  
 
You have created a view template with a bunch of hotspots at the top and bottom of the form 
(Next, Previous, Home, Search, etc). The Next and Previous buttons use the formulas:  
 
 @DbCommand(“Domino”; “ViewNextPage”) and   
 @DbCommand(“Domino”; “ViewPreviousPage”)  
 
respectively. They work OK except for the fact that the buttons are displayed even when there 
isn’t a next or a previous page of the view. You want to hide the Previous button when at the top 
of the view, and the Next button when at the bottom of the view.  
(The easiest way to hide the previous is not to do so. Always make previous the javascript history.go(-1) command.) 
 
This solution only works for an unexpanded view. A complete solution will be published shortly. 
I hope the partial solution shown here will point you in the right direction at least.   
 
1. Put your hotspots in a table without borders. For example, if you have 4 hotspots, create a 1 row, 4 column table.  
                                                
2. Add the following hidden fields to the form:  
 
Query_String (Text, Computed for display - formula is Query_String)  
 
ViewLines (Number, Computed for display - formula below: )  
tViewContents := @DbColumn(“Notes”:”NoCache”; “”; @ViewTitle; 1);  
@Elements(tViewContents) 
 
This field counts the number of ‘lines’ in the view, either categories or documents.  
(However, category expansion makes the view always changing therefore making the number a shooting target.) 
 
CurrentLine (Number, Computed for display - formula below: )  
tNode := @RightBack(Query_String; “&Start=”);  
@If(tNode = “”; 1; @TextToNumber(tNode))   
MaxLines (Number, Computed for display)  
 
This field should contain the maximum number of lines   
that Domino displays in a view. The default is 30 but   
this default can be changed in the server’s server   
document in the public Address book. You could hard   
code the value if you think it is unlikely to change on   
any server within your company. Alternatively, you could  
provide a formula to look up the address book and obtain the value.   
                                                
3. Go to the table cell containing the Next hotspot and enter the following   
hide-if-formula-is-true formula: (CurrentLine + MaxLines) > ViewLines  
                                                
4.Go to the table cell containing the Previous hotspot and enter the following 
hide-if-formula-is-true formula:   
 
CurrentLine = 1  
  
previous page
 
  |