以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160931) |
-- 作者:cnsjroom -- 发布时间:2021/2/26 16:22:00 -- 移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解 移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解 筛选数据显示页面代码:
Dim e As RequestEventArgs = args(0) Dim wb As New WeUI Dim flt As String If e.GetValues.ContainsKey("unfilter") Then \'如果是取消筛选 wb.ClearCookie() \'清除Cookie Else flt = Functions.Execute("getbiaozhang",e, wb) \'根据输入内容合成条件,注意WeUI也需要传递过去 End If Dim page As Integer = 0 \'默认page为0,显示第一页 Dim pageRows As Integer = 10 \'每页15行 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.C \'记得设置数据源名称 cmd.CommandText = "Sel ect 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 = "Sel ect * From (Se lect Row_Number() Over(Order by _Identify) As [NO.],[_Identify],获奖者,获奖名称,授奖单位,获奖时间 From 表彰" If flt > "" Then cmd.CommandText = cmd.CommandText & " where " & flt End If MessageBox.Show(cmd.CommandText) cmd.CommandText = cmd.CommandText & ") As a " cmd.CommandText = cmd.CommandText & " Where [NO.]>= " & StartRow & " And [NO.] <= " & EndRow \'MessageBox.Show(cmd.CommandText) Dim dt As DataTable = cmd.ExecuteReader \'生成菜单 wb.AddPageTitle("","ph1","表彰列表","") With wb.AddTable("","Table1") .AfterSelChange = "dynaActiveSheet()" \'置顶选择不同单元格后要执行的js行数,注意区分大小写 .PageNumber = page \'设置页码 .ActiveSheet = "menu" \'设置菜单 .RowHead = 1 \'左边第一列作为行头 .head.AddRow("序号","获奖者","获奖名称","授奖单位","获奖时间") .ColWidth="1px,30px,55px,20px,10px" For Each dr As DataRow In dt.DataRows With .body.AddRow() .Primarykey =dr("_Identify") Dim s As String=dr("获奖者") Dim s1 As String = dr("获奖名称") Dim s11 As String = dr("授奖单位") Dim s111 As String = dr("获奖时间") If s1.Length > 10 Then s1 = s1.SubString(0,25) & "..." End If .AddCells(dr("NO."),s,s1,s11,s111)\'逐个单元格增加 End With Next End With With wb.AddActionSheet("","menu") \'设计菜单 If flt = "" Then .Add("mnuFilter", "数据筛选","biaozhangchaxun.htm") Else .Add("mnuUnFilter", "取消筛选","getbiaozhanglist.htm?unfilter=true") End If .Add("mnuCancel","取消","",True) End With With wb.AddButtonGroup("","btg2", False) .Add("btn2", "继续检索","", "biaozhangchaxun.htm") .Add("btn2", "返回首页","", "default.htm") If page > 0 Then .Add("btnPrev", "上一页","","getbiaozhangList.htm?page=" & page - 1) Else .Add("btnPrev", "上一页").Kind = 1 End If If Endrow < count Then .Add("btnNext", "下一页","","getbiaozhangList.htm?page=" & page + 1) Else .Add("btnNext", "下一页").Kind = 1 End If End With e.WriteString(wb.Build) [此贴子已经被作者于2021/2/27 11:56:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/2/26 16:46:00 -- If s1.Length > 10 Then s1 = s1.SubString(0,10) & "..." End If 或者 If s1.Length > 25 Then s1 = s1.SubString(0,25) & "..." End If |
-- 作者:cnsjroom -- 发布时间:2021/2/27 11:57:00 -- 回复:(有点蓝) ... 谢谢 按指导已解决 |