以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据表高分页  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192524)

--  作者:wlj88868
--  发布时间:2024/6/29 11:53:00
--  根据表高分页

第一页这个分页是正常的

Dim gd As WinForm.Table
gd = Forms("出库列表").Controls("Table1")
With DataTables("出库列表")
    .LoadFilter = ""
    .LoadTop = gd.Height / 21 \'每页35行
    .LoadPage = 0 \'加载第一页
    .Load()
    e.Form.Controls("TextBox3").Value = 1 & "/" & .TotalPages
End With

 

 

下一页这个代码这个,,,点击下一页报错

With DataTables("出库列表")
    If .LoadPage < .TotalPages - 1 Then
        .LoadPage = .LoadPage + 1
        .Load()
        e.Form.Controls("TextBox3").Value = (.LoadPage + 1) & "/" & .TotalPages
    End If
End With

 

 

把 .LoadTop = gd.Height / 21   改成 .LoadTop = 20 下一页又是正常的

不知道什么原因了,,请教老师指点指点


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/6/29 14:35:00
--  
LoadTop需要设置为整数,改为

.LoadTop = Math.Ceiling(gd.Height / 21)

--  作者:wlj88868
--  发布时间:2024/6/29 16:54:00
--  

With DataTables("出库列表")
    If e.Form.Controls("TextBox4").text = 0 Then
        Messagebox.show("加载页数量不可以为0请选择正确的数据!", "提示", MessageBoxButtons.ok, MessageBoxIcon.Information)
        Return
    ElseIf e.Form.Controls("TextBox4").text = Nothing Then
        Dim gd As WinForm.Table
        gd = Forms("出库列表").Controls("Table1")
        .LoadTop = Math.Ceiling(gd.height / 21) \'每页35行
        .LoadPage = 0 \'加载第一页
        .Load()
        e.Form.Controls("TextBox3").Value = 1 & "/" & .TotalPages
    Else
        .LoadFilter = ""
        .LoadTop = val(e.Form.Controls("TextBox4").text) \'每页35行
        .LoadPage = 0 \'加载第一页
        .Load()
        e.Form.Controls("TextBox3").Value = 1 & "/" & .TotalPages
    End If
End With

 

老师这里设置了自定义加载行,,输入数据正常分页,,现在的问题是,鼠标点击一下没有输入数据就报错,上面页判断了为空,还需要这样判断一下


--  作者:wlj88868
--  发布时间:2024/6/29 16:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:01.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/6/29 17:57:00
--  
If e.Form.Controls("TextBox4").text = 0 Then
改为
If val(e.Form.Controls("TextBox4").text) = 0 Then