以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助 web列表分页显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172879)

--  作者:夜点蚊香
--  发布时间:2021/11/5 11:06:00
--  求助 web列表分页显示
求助 web列表分页显示
打开网页的时候,根据狐表的数据库进行分页显示,现在可以根据狐表的数据表显示列表了,分页还是有些问题。请指教
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:web测试.rar

网页打开方式  127.0.0.1  
list函数在内部函数里面。


--  作者:有点蓝
--  发布时间:2021/11/5 11:57:00
--  
要改为使用SqlServer数据库,内部表和access都无法做分页
--  作者:夜点蚊香
--  发布时间:2021/11/5 16:27:00
--  
http://www.foxtable.com/mobilehelp/
大神,我看这个帖子是通过狐表数据直接分页的。能不能两个结合起来。
能否给个思路。
[此贴子已经被作者于2021/11/5 16:27:27编辑过]

--  作者:有点蓝
--  发布时间:2021/11/5 17:05:00
--  
哪个帖子?
--  作者:夜点蚊香
--  发布时间:2021/11/5 17:28:00
--  代码发了,帮忙看一下。

Select Case e.Path
    Case "list.htm"
        Dim page As Integer = 0
\'
默认page为0,显示第一页
        Dim pageRows As Integer = 10
\'
每页10
        If e.GetValues.ContainsKey("page") Then 
\'
如果地址中有page参数
            Integer.TryParse(e.GetValues("page"), page)
\'
提取page参数
        End If
        Dim StartRow As Integer = page * pageRows
\'
此页第一行
        Dim EndRow As Integer = (page + 1) * pageRows - 1
\'
此页最后一行
        Dim lst As List(of DataRow) = DataTables(
"
订单").Select("","日期 Desc") \'按日期顺序显示
        If StartRow > lst.Count -1 Then
            e.WriteString(
"
已经是最后一页!")
            Return
        End If
        EndRow = Math.Min(EndRow, lst.Count - 1)
\'
这是必须的
        Dim sb As New StringBuilder
        Dim nms() As String =
{"
产品","客户","数量","单价","折扣","金额","日期"}
       
sb.AppendLine("
<Table border=\'1\'>")
        sb.AppendLine(
"<caption>
订单浏览<caption></br>")
        sb.Append("<tr>")
        For Each nm As String In nms
            sb.Append("<td>" & nm & "</td>")
        Next
        sb.AppendLine("</tr>")
        For r As Integer = StartRow To EndRow
            sb.Append("<tr>")
            For Each nm As String In nms
                sb.Append("<td>" & lst(r)(nm) & "</td>")
            Next
            sb.AppendLine("</tr>")
        Next
        sb.AppendLine("</Table></br></br>")
        If page > 0 Then
            sb.Append("<a href=\'list.htm?page=" & page - 1 &
"\'>
上一页</a> ")
        End If
        If EndRow < lst.Count -1 Then
            sb.Append("<a href=\'list.htm?page=" & page + 1 &
"\'>
下一页 </a>" )
        End If
        e.WriteString(sb.ToString)

End
Select


--  作者:有点蓝
--  发布时间:2021/11/6 8:50:00
--  
帮助找不到这种例子,如果是你自己写的。我还是那句话,请改为使用SqlServer数据库,参考帮助的list函数使用。

内部表做分页参考这种即可:http://www.foxtable.com/webhelp/topics/2269.htm

内部表做分页没有任何意义,除非这个网页只有一个人在使用,不然A数据很容易乱的。web服务端建议尽量使用SQLcommand操作数据,不要使用内部表
一个简单的分页例子

Dim cmd As New SQLCommand
cmd.ConnectionName = "数据源名称"
Dim
 dt As DataTable
cmd.CommandText = "SELECT * From {订单} where 1=2"
dt = cmd.ExecuteReader()
With dt
    .LoadFilter = ""

    .LoadTop = 
pageRows
    .LoadPage = 
page
    .Load()

End
 With

--  作者:夜点蚊香
--  发布时间:2021/11/6 10:39:00
--  
例子确实是文档里的。操作狐表表单的目的是用操作表单的同时启用表单事件的功能,实现数据之间的串联。
新增,修改,删除。功能操作启用相关的表单事件。
文档截图如下

图片点击可在新窗口打开查看此主题相关图片如下:1636166343(1).jpg
图片点击可在新窗口打开查看




--  作者:有点蓝
--  发布时间:2021/11/6 11:10:00
--  
看6楼的用法,理由已经说得很清楚了。

帮助很多地方只是为了举例说明某个功能的用法,不代表是可以用到实际项目的。当然如果做出来的网页只有一个人使用,就当我没说

--  作者:夜点蚊香
--  发布时间:2021/11/6 12:05:00
--  
明白了,逻辑关系,我在研究研究。