以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 翻页没有数据 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124008) |
-- 作者:aza520 -- 发布时间:2018/8/28 20:19:00 -- 翻页没有数据 用分页加载,有5页数据,但只显示第一页的,翻页时2、3、4、5页数据都不显示,如图,我检查了翻页代码,应该没问题。请问老师,可能是什么原因? |
-- 作者:有点蓝 -- 发布时间:2018/8/28 20:30:00 -- 第一次加载、翻页代码呢?发上来看咯
|
-- 作者:aza520 -- 发布时间:2018/8/28 20:34:00 -- 加载树代码: Dim Filter As String = "1=1" Dim dr = e.node.FullPath.split("\\") \'获取生成此节点的行 If e.Node.Text <> "加载所有数据" Then Select Case e.Node.Level Case 0 Filter = "[项目名称] = \'" & dr(0) & "\'" Case 1 Filter = "[项目名称] = \'" & dr(0) & "\'And [施工合同段] = \'" & dr(1) & "\'" Case 2 Filter = "[项目名称] = \'" & dr(0) & "\'And [施工合同段] = \'" & dr(1) & "\' And [安全费用分类] = \'" & dr(2) & "\'" End Select End If If User.Name = "开发者" Or User.Name = "管理员" Then DataTables("安全费用表").LoadFilter = filter DataTables("安全费用表").LoadOver="支出日期" DataTables("安全费用表").LoadReverse = True DataTables("安全费用表").LoadTop= 10 DataTables("安全费用表").Load Tables("安全费用表").sort="支出日期" Else DataTables("安全费用表").loadfilter = "(承包人机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 监理机构 in (\'" & User.Roles.replace(",","\',\'") & "\') or 业主机构 in (\'" & User.Roles.replace(",","\',\'") & "\')) and " & Filter DataTables("安全费用表").LoadOver="支出日期" DataTables("安全费用表").LoadReverse = True DataTables("安全费用表").LoadTop= 10 DataTables("安全费用表").Load Tables("安全费用表").sort="支出日期" End If e.Form.Controls("TextBox5").Value = 1 & "/" & DataTables("安全费用表").TotalPages vars("安全费用表filter") = DataTables("安全费用表").LoadFilter 翻页代码: With DataTables("安全费用表") .LoadPage = 0 \'加载第一页 .Load() e.Form.Controls("TextBox5").Value = 1 & "/" & .TotalPages End With With DataTables("安全费用表") If .LoadPage > 0 Then .LoadPage = .LoadPage - 1 .Load() e.Form.Controls("TextBox5").Value = (.LoadPage + 1) & "/" & .TotalPages End If End With With DataTables("安全费用表") If .LoadPage < .TotalPages - 1 .LoadPage = .LoadPage + 1 .Load() e.Form.Controls("TextBox5").Value = (.LoadPage + 1) & "/" & .TotalPages End If End With With DataTables("安全费用表") If .LoadPage < .TotalPages - 1 .LoadPage = .TotalPages - 1 .Load() e.Form.Controls("TextBox5").Value = .TotalPages & "/" & .TotalPages End If End With |
-- 作者:有点蓝 -- 发布时间:2018/8/28 20:42:00 -- 支出日期是不是很多都重复的? 我们的建议是:尽量采用主键列或者其他值不会重复的列(如身份证号码),作为分页依据列,因为如果分页依据列的值有重复,将会影响分页的准确性,例如上面的代码根据日期分页,每页显示20行,如果某一天有40个订单,那么这40个订单会显示在同一个页面中,而不会按我们期望的那样分成两页显示。
|
-- 作者:aza520 -- 发布时间:2018/8/28 20:54:00 -- 取消支付日期作为分页依据列,还是不行 |
-- 作者:aza520 -- 发布时间:2018/8/28 20:59:00 -- 解决了 |
-- 作者:aza520 -- 发布时间:2018/8/28 21:25:00 -- 还是解决不了 |
-- 作者:有点蓝 -- 发布时间:2018/8/28 21:40:00 -- 实例发上来看看 |
-- 作者:有点甜 -- 发布时间:2018/8/29 10:21:00 -- 1、你的【支出日期】有重复值吗?如果有重复值,不建议作为分页依据,尽量用_Identify主键做依据
DataTables("安全费用表").LoadOver="支出日期"
2、做个例子发上来测试一下。 |