Set up your recordset as normal and apply the Horizontal Looper behaviour
Insert a form with a list box.
<form name="form1" method="post" action="yourpage.asp">
Records per Page
<select name="select" >
<option>Select</option>
<option value="2">8</option>
<option value="3">12</option>
<option value="4">16</option>
<option value="5">20</option>
<option value="6">24</option>
</select>
<input type="submit" name="Submit" value="Go">
</form>
In your option values, use the number of records divided by the number of columns you want on your page. If you have four columns, then 8 records per page is a value of 2.
Next, set the session –
<%
If Request.Form("select") ="" then
If Session("paging") <>"" then
Session("paging") = Session("paging")
End If
End If
If Request.Form("select") <> "" then
Session("paging") = Request.Form("select")
End If
%>
This also prevents the Session being set to zero when the visitor pages through the records. If the visitor enters a new value, the Session will update to that value.
Now you have to modify the Horizontal Looper code.
Change the code to set the number of rows (the default value here is 8 to have 2 rows of 4 columns, but you can make that 9 and change the multiplier further down from 4 to 3 to give 3 rows of 3 columns)
<%
Dim HLooper1__numRows
If Session("paging") ="" then
HLooper1__numRows = 8
Else
HLooper1__numRows = 4 * Session("paging")
End If
Dim HLooper1__index
HLooper1__index = 0
Recordset1_numRows = Recordset1_numRows + HLooper1__numRows
%>
Now the final part. Modify the code as follows,
<%
startrw = 0
endrw = HLooper1__index
numberColumns = 4
if Session("paging") = "" then
numrows = 2
Else
numrows = Session("paging")
End If
%>
Make sure you set the numberColumns and numrows to the default values you set earlier.
It’s that easy! You can apply the first, next, previous behaviours as normal.