Foxtable(狐表)用户栏目专家坐堂 → 移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解


  共有1951人关注过本帖树形打印复制链接

主题:移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
移动开发 查询数据 部分数据可以筛选出来 部分数据直接页面显示空白 求解  发帖心情 Post By:2021/2/26 16:22:00 [只看该作者]

移动开发 查询数据   部分数据可以筛选出来  部分数据直接页面显示空白  求解

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

筛选数据显示页面代码:
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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)         ...  发帖心情 Post By:2021/2/27 11:57:00 [只看该作者]

谢谢  按指导已解决

 回到顶部