以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  又一个综合示例的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107839)

--  作者:Zhao2006
--  发布时间:2017/10/11 11:18:00
--  又一个综合示例的问题
老师好,我现刚学习到:移动开发/使用表格/又一个综合示例 的课程,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:称动测试.rar

因我是Acc数据库,虽与帮助一模
一样的代码但还是运行不了的,但又不知从何着手只好求助老师了

--  作者:有点甜
--  发布时间:2017/10/11 11:47:00
--  

测试路径

 

http://127.0.0.1:88/Edit.htm

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:称动测试.foxdb

[此贴子已经被作者于2017/10/11 11:46:58编辑过]

--  作者:Zhao2006
--  发布时间:2017/10/11 15:28:00
--  
甜老师好,我现是想实现“又一综合示例”所说的“四个页面切换按钮”功能,所有该示例的自定义函数已录入,现我登录(张三,888)界面后,再输入:http://127.0.0.1:88/filter.htm,能显示筛选界面,再按界面的筛选名称填入条件后、确定则显示出错了(见附件),我估计是自定义List函数中没有通过造成的,但又不知是哪一地方出错了咧。
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/10/11 16:07:00
--  

 

[此贴子已经被作者于2017/10/11 16:09:05编辑过]

--  作者:有点甜
--  发布时间:2017/10/11 16:14:00
--  

内部函数list

 

Dim e As RequestEventArgs = args(0)
Dim wb As New WeUI
Dim flt As String
If e.GetValues.ContainsKey("unfilter") Then \'如果是取消筛选
    wb.ClearCookie() \'清除Cookie
ElseIf e.PostValues.Count > 0
    flt = Functions.Execute("GetFilter",e, wb) \'根据输入内容合成条件,注意WeUI也需要传递过去
Else
    flt = Functions.Execute("GetCookieFilter",e) \'根据Cookie合成条件
End If
\'获取要显示的页码
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 + 1 \'此页第一行
Dim EndRow As Integer = (page + 1) * pageRows \'此页最后一行
\'提取此页数据
Dim cmd As New SQLCommand
cmd.ConnectionName = "orders" \'记得设置数据源名称
cmd.CommandText = "Select Count(*) From {订单}"
If flt > "" Then
    cmd.CommandText = cmd.CommandText & " where " & flt
End If
Dim Count As Integer = cmd.ExecuteScalar() \'获取总的行数
Dim Pages As Integer = Math.Ceiling(Count/PageRows) \'计算出总页数
cmd.CommandText = "Select Top " & pagerows & " *,(数量*单价) As 金额 from (Select [_identify]  as 订单编号,日期,客户,(Select sum(数量)  from {订单} where 订单编号={订单}.订单编号) As 数量,单价,产品 From {订单}) A where "
If flt > "" Then
    cmd.CommandText &= iif(page=0,  "1=1 and " & flt ,  "[订单编号] not In (Select top " & pagerows * page & " [_identify]  from {订单}  order by [_identify]) and " & flt & " order by [订单编号]")
Else
    cmd.CommandText &= iif(page=0,  "1=1" ,  "[订单编号] not In (Select top " & pagerows * page & " [_identify]  from {订单}  order by [_identify]) order by [订单编号]")
End If

Dim dt As DataTable = cmd.ExecuteReader


\'合成网页
With wb.AddTable("","Table1")
    .ActiveSheet = "menu" \'指定菜单
    .CreateFromDataTable(cmd.ExecuteReader)
End With
With wb.AddButtonGroup("","btg2", False)
    If page > 0 Then
        .Add("btnFirst", "第一页","","List.htm?page=0")
        .Add("btnPrev", "上一页","","List.htm?page=" & page - 1)
    Else
        .Add("btnFirst", "第一页","button").Kind = 1
        .Add("btnPrev", "上一页","button").Kind = 1
    End If
    If Endrow < count Then
        .Add("btnNext", "下一页","","List.htm?page=" & page + 1)
        .Add("btnLast", "最末页","","List.htm?page=" & pages - 1)
    Else
        .Add("btnNext", "下一页","button").Kind = 1
        .Add("btnLast", "最末页","button").Kind = 1
    End If
End With
With wb.AddActionSheet("","menu") \'设计菜单
    If flt = "" Then
        .Add("mnuFilter", "数据筛选","filter.htm")
    Else
        .Add("mnuUnFilter", "取消筛选","list.htm?unfilter=true")
    End If
    .Add("mnuStatistics", "数据统计","tongji.htm")
    .Add("mnuCancel","取消","",True)
End With
e.WriteString(wb.Build)


--  作者:有点甜
--  发布时间:2017/10/11 16:14:00
--  

内部函数GetCookieFilter

 

Dim flt As String
Dim e As RequestEventArgs = args(0)
If e.Cookies.ContainsKey("product")  Then
    flt = "产品 = \'" & e.Cookies("product") & "\'"
End If
If e.Cookies.ContainsKey("customer")  Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "客户 = \'" & e.Cookies("customer") & "\'"
End If
If e.Cookies.ContainsKey("startdate")  Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "日期 >= #" & e.Cookies("startdate") & "#"
End If
If e.Cookies.ContainsKey("enddate")  Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "日期 <= #" & e.Cookies("enddate") & "#"
End If
Return flt


--  作者:有点甜
--  发布时间:2017/10/11 16:15:00
--  

内部函数GetFilter

 

Dim e As RequestEventArgs = args(0)
Dim wb As WeUI = Args(1)
Dim flt As String
If e.PostValues.ContainsKey("product") Then
    flt = "产品 = \'" & e.PostValues("product") & "\'" \'合成条件
    wb.AppendCookie("product", e.PostValues("product"),30) \'将值写入cookie中
Else
    wb.DeleteCookie("product") \'删除cookie
End If
If e.PostValues.ContainsKey("customer") Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "客户 = \'" & e.PostValues("customer") & "\'" \'合成条件
    wb.AppendCookie("customer", e.PostValues("customer")) \'将值写入cookie中
Else
    wb.DeleteCookie("customer") \'删除cookie
End If
If e.PostValues.ContainsKey("startdate") Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "日期 >= #" & e.PostValues("startdate") & "#"
    wb.AppendCookie("startdate", e.PostValues("startdate"))
Else
    wb.DeleteCookie("startdate")
End If
If e.PostValues.ContainsKey("enddate") Then
    If flt > "" Then
        flt = flt & " and "
    End If
    flt = flt & "日期 <= #" & e.PostValues("enddate") & "#"
    wb.AppendCookie("enddate", e.PostValues("enddate"))
Else
    wb.DeleteCookie("enddate")
End If
Return flt


--  作者:Zhao2006
--  发布时间:2017/10/11 17:42:00
--  
OK!OK!非常地谢谢甜老师,如此我可以进入实例操作了!
--  作者:Zhao2006
--  发布时间:2017/10/20 10:09:00
--  
敬爱的甜老师救命呀!我按老师您修改通过了的《订单》“四个页面切换按钮”示例,逐一用替换法将实例
列代入,但我的实例中不需要乘积列(数量*单价=金额),倒想增加合计列但不迫切(A+B=C),而老师
您修改好的List自定义函数中的红色字段中有好多处AS语句,AS来AS去的我都不知AS到哪去了,倒AS出来个
双行表头的(见附件),晕菜了!折磨了我近十天了实在无计可施,只好再来向老师求救了。主要是S e 
l e c t语句太难读懂了。界面登录 http://127.0.0.1
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:称动测试.rar


图片点击可在新窗口打开查看此主题相关图片如下:第一种表头.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:第二种表头.png
图片点击可在新窗口打开查看
:88 (张三,888)。
[此贴子已经被作者于2017/10/20 10:10:30编辑过]

--  作者:有点甜
--  发布时间:2017/10/20 11:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:称动测试.zip