Dim gCurrentPageNumber //当前页号 Dim gMaxPageNumber //最大页数 Dim gRecordsPerPage //每页显示记录数 gRecordsPerPage = 5 // 设置每页显示记录数为5条记录。
Function Recordset1_ondatasetcomplete() totalRecordCount = Recordset1.getCount() //总的记录条数 gMaxPageNumber = Int(totalRecordCount / gRecordsPerPage) //获得最大页数 If (totalRecordCount Mod gRecordsPerPage) > 0 then gMaxPageNumber = gMaxPageNumber + 1 End If End Function 第三步:创建翻页导航按钮。
Function btnFirst_onclick() ’ 翻到首页 gCurrentPageNumber = 1 DisplayData() End Function
Function btnPrevious_onclick() ’ 翻到上一页 if gCurrentPageNumber > 1 Then gCurrentPageNumber = gCurrentPageNumber - 1 DisplayData() End If End Function
Function btnNext_onclick() ’ 翻到下一页 if gCurrentPageNumber < gMaxPageNumber Then gCurrentPageNumber = gCurrentPageNumber + 1 DisplayData() End If End Function
Function btnLast_onclick() ’翻到末页 gCurrentPageNumber = gMaxPageNumber DisplayData() End Function 第四步:编写显示每一页的函数。其中使用了许多DHTML的属性和方法,请读者自行参考相关书籍。
Table1.rows(rowCtr).cells(0).innerText = recordPtr ’ Counter Table1.rows(rowCtr).cells(1).innerText = empID Table1.rows(rowCtr).cells(2).innerText = empLName Table1.rows(rowCtr).cells(3).innerText = empFName End If rowCtr = rowCtr + 1 Next End Sub 另外,我们还需要在window对象的onload事件中编写如下脚本:
For rowCtr = 1 to gRecordsPerPage Table1.insertRow(rowCtr) ’ 插一新列 For cellCtr = 0 to 3 Table1.rows(rowCtr).insertCell() Next Next 第六种:服务器端控制翻页方法。
Function Recordset1_ondatasetcomplete() recordsPerPage = 5 empList.setRecordsPerPage(recordsPerPage)//设置网页对象每页记录条数属性为5 totalRecordCount = Recordset1.getCount()//获得记录集的总条数 mpn = Int(totalRecordCount / recordsPerPage) //计算出mpn为总页数 If (totalRecordCount Mod recordsPerPage) > 0 then mpn = mpn + 1 End If empList.setMaxPageNumber(mpn) End Function 第四步:拖四个button控件到网页中,编写翻页控制脚本。我们主要是通过改变网页对象的CurrentPageNumber属性的值来实现翻页。
Function btnFirst_onclick()’ 翻到首页 empList.setCurrentPageNumber(1) End Function
Function btnPrevious_onclick()’ 翻到上一页 cpn = empList.getCurrentPageNumber() if cpn > 1 Then empList.setCurrentPageNumber(cpn - 1) End If End Function
Function btnNext_onclick()’ 翻到下一页 cpn = empList.getCurrentPageNumber() if cpn < empList.getMaxPageNumber() then empList.setCurrentPageNumber(cpn + 1) End If End Function
Function btnLast_onclick() ’ 翻到末页 empList.setCurrentPageNumber( empList.getMaxPageNumber() ) End Function 为保证首次进入该页时,显示的是第一页,我们还得编写该网页对象的onEnter事件。
Function empList_onEnter() If empList.firstEntered Then empList.setCurrentPageNumber(1) End If End Function 第五步:编写显示每一页的脚本。
Data Environment对象模型把ADO对象模型及它的对象----“Connection”,“Command”,“Recordset”,“Field”以及“Parameter”对象----抽象到一个更加容易的表单中。Data Environment Object Model把命令显露为方法。用户可以调用这些方法,这些方法会执行这些命令并返回所得到的记录集。关于DEOM对象模型详细资料请参考相关书籍。我们来看下面网页emp7.asp的例子:
第一步:在VI6.0的“project Explorer”窗口中的工程项目上右击鼠标并从弹出式菜单选择“Add Data Connection”。根据VI给出的导航提示建立一个到数据库的连接之后,用户就添加了一个实现从ASP应用程序访问数据库的数据命令。同时,你将会在“Project Explorer”窗口中的global.asa文件下方看到一个“Data Environment”对象。
第二步:右击“Data Environment”对象然后从弹出式菜单中选择“Add Data Command”选项,添加一个数据命令Command1。根据VI6.0的导航提示,你可以在Command1 Properties弹出窗口的Genetal页中选SQL Statement,输入:select * from emp。按OK返回。