设置 PageSize、PageNumber 并在页面之间切换
Set PageSize, PageNumber and switch between pages
我有一个包含数百或数千个项目的页面。网页大小由用户手动设置,选择 s/he 想要查看的项目数(选项为 25,50,100,200)。视情况而定,项目将出现在多个页面中。
为了验证每一项,我有一个SQL。我只想检查当前显示在屏幕上的项目,即 100 项中的第 26 到 50 项。
接下来我尝试了:
ItemsOnPage = mybrowser.webelement(...).GetROProperty("innertext")
Set aRecordSet= objconnection.Execute(Query)
aRecordSet.PageSize = ItemsOnPage
print aRecordSet.PageNumber
aRecordSet.PageNumber
保持为 -1,与 PageSize 无关,如果我不设置 PageSize 也是如此。
此外,需要根据当前 Web 页面设置页码:
wCurrentPage = mybrowser.webElement(...).GetROProperty("innertext")
我尝试了下一个选项:
aRecordSet.AbsolutePage = wCurrentPage
aRecordSet.AbsolutePosition = 2+(ItemsOnPage *(wCurrentPage-1))
打开对象时不允许返回这些命令 errors:Operation。并且
aRecordSet.CursorLocation = 1+(ItemsOnPage *(wCurrentPage-1))
返回 "Current Recordset does not support bookmarks."
如何实现?
更新:获取数据的查询是:
SELECT * FROM tblCustomerMetricData
WHERE RunDate = '"&webGetDate&"' AND
CustomerID in
(SELECT CustomerID from [tblCustomers]
where RegionID in (SELECT RegionID FROM [tblRegion]
WHERE RegionName = '"&webRegionName&"')) OR CustomerID in (SELECT CustomerID from [tblCustomers]
where CustomerName = '"&webCustomerName&"'))
任何以 "web" 开头的内容都被视为变量,从用户设置的网页中获取值。通过 UFT 查询 运行。
您可以通过几种不同的方式配置记录集以供使用。我们在 ADO 客户端的网站上进行分页,效果很好。在建立数据库连接后尝试添加以下内容:
objconnection.CursorLocation = adUseClient
如果未定义adUseClient
,则将其设置为3
。
我无法配置我的 Recordset - 不确定是因为我不能还是因为提供商不支持。
我继续使用这个解决方案:
pagesnumber = mybrowser(...).Webedit(...).GetROProperty("innertext") 'get pages on web
for p = 1 to pagesnumber-1
for r = 0 to webtable.rowcount
for c = 0 to webtable.columncount(1)
(comparing by cell by row here)
next 'loop columncount
Recordset.MoveNext
next 'loop rowcount
next 'loop pagesnumber
因此,我不需要为 Recordset 设置页数或记录数。
我有一个包含数百或数千个项目的页面。网页大小由用户手动设置,选择 s/he 想要查看的项目数(选项为 25,50,100,200)。视情况而定,项目将出现在多个页面中。
为了验证每一项,我有一个SQL。我只想检查当前显示在屏幕上的项目,即 100 项中的第 26 到 50 项。
接下来我尝试了:
ItemsOnPage = mybrowser.webelement(...).GetROProperty("innertext")
Set aRecordSet= objconnection.Execute(Query)
aRecordSet.PageSize = ItemsOnPage
print aRecordSet.PageNumber
aRecordSet.PageNumber
保持为 -1,与 PageSize 无关,如果我不设置 PageSize 也是如此。
此外,需要根据当前 Web 页面设置页码:
wCurrentPage = mybrowser.webElement(...).GetROProperty("innertext")
我尝试了下一个选项:
aRecordSet.AbsolutePage = wCurrentPage
aRecordSet.AbsolutePosition = 2+(ItemsOnPage *(wCurrentPage-1))
打开对象时不允许返回这些命令 errors:Operation。并且
aRecordSet.CursorLocation = 1+(ItemsOnPage *(wCurrentPage-1))
返回 "Current Recordset does not support bookmarks."
如何实现?
更新:获取数据的查询是:
SELECT * FROM tblCustomerMetricData
WHERE RunDate = '"&webGetDate&"' AND
CustomerID in
(SELECT CustomerID from [tblCustomers]
where RegionID in (SELECT RegionID FROM [tblRegion]
WHERE RegionName = '"&webRegionName&"')) OR CustomerID in (SELECT CustomerID from [tblCustomers]
where CustomerName = '"&webCustomerName&"'))
任何以 "web" 开头的内容都被视为变量,从用户设置的网页中获取值。通过 UFT 查询 运行。
您可以通过几种不同的方式配置记录集以供使用。我们在 ADO 客户端的网站上进行分页,效果很好。在建立数据库连接后尝试添加以下内容:
objconnection.CursorLocation = adUseClient
如果未定义adUseClient
,则将其设置为3
。
我无法配置我的 Recordset - 不确定是因为我不能还是因为提供商不支持。 我继续使用这个解决方案:
pagesnumber = mybrowser(...).Webedit(...).GetROProperty("innertext") 'get pages on web
for p = 1 to pagesnumber-1
for r = 0 to webtable.rowcount
for c = 0 to webtable.columncount(1)
(comparing by cell by row here)
next 'loop columncount
Recordset.MoveNext
next 'loop rowcount
next 'loop pagesnumber
因此,我不需要为 Recordset 设置页数或记录数。