以文本方式查看主题

-  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=123395)

--  作者:zoyong
--  发布时间:2018/8/13 20:58:00
--  筛选数据
Dim wb As New WeUI
wb.AddForm("","form1","tbList.htm")
Dim gjs As List(of String) = DataTables("投标立项").GetValues("资质")
With wb.AddInputGroup("form1","ipg1","数据筛选")
    .AddSelect("资质","资质","|" & String.Join("|",gjs.ToArray)).Attribute = ""  \'调用js函数.
    .AddSelect("区域","区域","")
    .AddInput("startdate","开始日期","date")
    .AddInput("enddate","结束日期","date")
End With
With wb.AddButtonGroup("form1","btg1",True)
    .Add("btn1", "确定", "submit")
End With
    With wb.AddButtonGroup("","btg2", False)  \'水平排列
            .Add("btnNext","返回经营管理","","jygl.htm").kind = 2
    End With
For Each gj As String In gjs
   \' 插入一些隐藏段落,用于存储各个资质的投标区域
    wb.InsertHTML("<p hidden id=\'" & gj & "\'>" & DataTables("投标立项").GetComboListString("区域","资质=\'" & gj & "\'") & "</p>")
Next
wb.AppendHTML("<script src=\'./weui/lib/brands.js\'></script>") \'引入脚本文件
e.WriteString(wb.Build) \'生成网页

brands.js代码
//投标立项动态列表
function tbgetBrands(){
    var gj=document.getElementById("资质").value;
    setOptions("区域",document.getElementById(gj).innerHTML);
}

上面代码无效,会列出所有数据,用下面的代码就能查询,但是达不到我想要的效果,请老师指教

\'Dim wb As New WeUI
\'wb.AddForm("","form1","tbList.htm")
\'Dim gjs As List(of String) = DataTables("投标立项").GetValues("资质")
\'With wb.AddInputGroup("form1","ipg1","数据筛选")
    \'.AddSelect("product","资质","|水利|市政|建筑")
    \'.AddSelect("customer","区域","|台州|临海|县内")
    \'.AddInput("startdate","开始日期","date")
    \'.AddInput("enddate","结束日期","date")
\'End With
\'With wb.AddButtonGroup("form1","btg1",True)
    \'.Add("btn1", "确定", "submit")
\'End With
\'With wb.AddButtonGroup("","btg2", False)  \'水平排列
    \'.Add("btnNext","返回经营管理","","jygl.htm").kind = 2
\'End With
\'e.WriteString(wb.Build) \'生成网页

--  作者:zoyong
--  发布时间:2018/8/13 21:04:00
--  
tblist.htm代码

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("tbGetFilter",e, wb) \'根据输入内容合成条件,注意WeUI也需要传递过去
Else
    flt = Functions.Execute("tbGetCookieFilter",e) \'根据Cookie合成条件
End If
\'获取要显示的页码
Dim page As Integer = 0 \'默认page为0,显示第一页
Dim pageRows As Integer = Tables("微信参数").rows(0)("页面显示行数")     \'每页显示行数,在微信参数表中修改
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 = "S elect 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 = "S elect * From (S elect Row_Number() Over(Order by 开标时间) As [NO],项目名称,区域,开标时间 From 投标立项"
If flt > "" Then
    cmd.CommandText = cmd.CommandText & " where " & flt
End If
cmd.CommandText = cmd.CommandText & ") As a "
cmd.CommandText = cmd.CommandText & "  Where [NO]>= " & StartRow & " And [NO] <= " & EndRow
\'合成网页
With wb.AddTable("","Table1")
    .ActiveSheet = "menu" \'指定菜单
    .CreateFromDataTable(cmd.ExecuteReader)
End With
With wb.AddButtonGroup("","btg2", False)
    If page > 0 Then
        .Add("btnFirst", "第一页","","tbList.htm?page=0").Kind = 0
        .Add("btnPrev", "上一页","","tbList.htm?page=" & page - 1).Kind = 0
    Else
        .Add("btnFirst", "第一页","button").Kind = 0
        .Add("btnPrev", "上一页","button").Kind = 0
    End If
    If Endrow < count Then
        .Add("btnNext", "下一页","","tbList.htm?page=" & page + 1).Kind = 0
        .Add("btnLast", "最末页","","tbList.htm?page=" & pages - 1).Kind = 0
    Else
        .Add("btnNext", "下一页","button").Kind = 0
        .Add("btnLast", "最末页","button").Kind = 0
    End If
End With
With wb.AddButtonGroup("","btg3", False)
     .Add("btnsx", "重新筛选","","tbfilter.htm").Kind = 2
     .Add("btnzy", "返回项目列表","","tblx.htm").Kind = 2
End With
With wb.AddActionSheet("","menu") \'设计菜单
    If flt = "" Then
        .Add("mnuFilter", "数据筛选","tbfilter.htm")
    Else
        .Add("mnuUnFilter", "取消筛选","tbList.htm?unfilter=true")
    End If
    .Add("mnuStatistics", "数据统计","tbtongji.htm")
    .Add("mnuCancel","取消","",True)
End With
e.WriteString(wb.Build)

--  作者:有点蓝
--  发布时间:2018/8/13 21:28:00
--  
要什么效果?怎么样才是达到效果?
--  作者:zoyong
--  发布时间:2018/8/14 9:36:00
--  
上面的代码无法查询指定数据   而是显示所有数据的     动态列表选择可以用,就是不能根据列表里面的字段筛选数据
--  作者:有点甜
--  发布时间:2018/8/14 9:54:00
--  

查询数据那里,加下面代码弹出值看看

 

msgbox(flt)

msgbox(cmd.CommandText)


--  作者:zoyong
--  发布时间:2018/8/14 14:21:00
--  
老师帮忙看看什么原因

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


[此贴子已经被作者于2018/8/14 14:21:29编辑过]

--  作者:有点甜
--  发布时间:2018/8/14 14:38:00
--  

你给的例子太凌乱了,根本无法测试啊。

 

请上传正确的,可以正常测试的实例。

 

加入下面代码弹出什么?

 

msgbox(flt)

msgbox(cmd.CommandText)

[此贴子已经被作者于2018/8/14 14:38:07编辑过]