'路单-合成筛选条件,输出结果.
Dim e As RequestEventArgs = args(0)
Dim wb As WeUI 'LuDanGetFilter函数需要输入的条件保存到Cookie中,而Coolie的保存和删除是通过WeUI完成的,所以在调用LuDanGetFilter的时候,需要将WeUI作为第二个参数传递过去.
Dim flt As String
'Dim curname As String= e.Cookies("uname") '临时保存当前用户,以免被清除.
If e.GetValues.ContainsKey("isindex") OrElse e.GetValues.ContainsKey("unfilter") Then '如果是取消筛选或从主页加载
flt="姓名= '" & e.Cookies("uname") & "' and datediff(month,[启用日期],getdate())=0"
' wb.ClearCookie() '此两行清除除当前用户以外的所有Cookie
' wb.AppendCookie("uname",curname)
' msgbox(flt)
ElseIf e.PostValues.Count > 0
msgBox(2)
flt = Functions.Execute("LuDanGetFilter",e, wb) '根据输入内容合成条件,注意WeUI也需要传递过去
'Else
'flt = Functions.Execute("LuDanGetCookieFilter",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 dt As DataTable = cmd.ExecuteReader
msgbox("1: " & cmd.Com mandText ) '运行到这里都没有问题,数据源设置也没有问题,拼成的SQL在数据库上运行正常。
With wb.AddTable("","Table1")
.PageNumber = page '设置页码
.Primarykey = "_Identify" '设置主键
.ActiveSheet = "menu" '指定菜单
.CreateFromDataTable(dt)
End With
With wb.AddButtonGroup("","btg2", False)
If page > 0 Then
.Add("btnFirst", "第一页","","ldlist.htm?page=0")
.Add("btnPrev", "上一页","","ldlist.htm?page=" & page - 1)
Else
.Add("btnFirst", "第一页","button").Kind = 1
.Add("btnPrev", "上一页","button").Kind = 1
End If
If Endrow < count Then
.Add("btnNext", "下一页","","ldlist.htm?page=" & page + 1)
.Add("btnLast", "最末页","","ldlist.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", "数据筛选","ldfilter.htm")
Else
.Add("mnuUnFilter", "取消筛选","ldlist.htm?unfilter=true")
End If
.Add("mnuCancel","取消","",True)
End With
'Dim sb As New StringBuilder
'sb.AppendLine("<meta name='viewport' c>")
'sb.AppendLine(cmd.CommandText )
'e.WriteString(sb.ToString)
'
e.WriteString(wb.Build)
[此贴子已经被作者于2020/11/7 16:52:26编辑过]