Foxtable(狐表)用户栏目专家坐堂 → 动态列表问题


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

主题:动态列表问题

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


加好友 发短信
等级:四尾狐 帖子:802 积分:7702 威望:0 精华:0 注册:2015/9/14 14:26:00
动态列表问题  发帖心情 Post By:2021/8/11 10:38:00 [只看该作者]

Dim fl As String = "d:\web\" & e.path
If filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar"
            e.WriteFile(fl)
            Return '这里必须返回
    End Select
End If
Select Case e.Path
    Case "test.htm"
        Dim wb As New weui
        wb.AddForm("","form1","test.htm")
        With wb.AddInputGroup("form1","ipg1","查询条件")
              .AddInput("scrq","生产日期","date")

          
                .Attribute = """
            
            With .AddSelect("cpmc","产品名称","")
                .Attribute = """
            End With
            .AddSelect("gg","规格","")
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
        e.WriteString(wb.Build) '生成网页
    Case  "getProducts.htm"
        Dim vals As String
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText=" elect t1.产品名称,t2.生产日期_开始,t2.规格 f  rom 质检报告主表 t2 inner join 成品有出厂检验 t1 on t1.编号=t2.编号 where t2.生产日期_开始= '"& e.PostValues("scrq") &"'"

 'MessageBox.Show(cmd.CommandText)
Dim dt As DataTable= cmd.ExecuteReader
        If e.PostValues.Count = 1 Then
            vals  = "|" & dt.GetComboListString("产品名称","生产日期_开始='" & e.PostValues("scrq") & "'")
        ElseIf e.PostValues.Count = 2 Then
            Dim Filter As String = "生产日期_开始='" & e.PostValues("scrq") & "' And 产品名称='" & e.PostValues("cpmc") & "'"
            vals = "|" & Dt.GetComboListString("规格", Filter)
        End If
        e.WriteString(vals)
End Select

 

上述代码在执行的时候  选择好了 生产日期后,在产品名称的下拉列表中可以有值,但不能选中


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 10:45:00 [只看该作者]

请上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:802 积分:7702 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/8/11 14:18:00 [只看该作者]

谢谢,问题已经找到

现在遇到 怎么把生成的pdf 推送给客户端

 


If r("单据状态")<>"" Then
    If r("报告类型")="包装油出厂检验报告" Then

Dim Book As New XLS.Book(drr("图章存储位置")& "Attachments\"& r("报告类型") &".xlsx")
 
         Dim fl As String = "d:\ "& "PDF"& format(now(),"yyMMdd")& Rand.Next(100) &".pdf"

        If r("质检员")="" Then
            MessageBox.Show("尚未制定质检员,请选择")
            Return 0
        End If
 
        book.AddDataTable("质检报告主表","pk","S   elect * from 质检报告主表 where 编号= '"& r("编号")&"'") '添加父表
        book.AddDataTable("质检报告附表","pk","S    elect * from 质检报告附表 where 编号= '"& r("编号") &"'") '添加子表
        book.AddDataTable("成品有出厂检验","pk","S    elect * from 成品有出厂检验 where 编号= '"& r("编号") &"'And 产品名称='"& Vars("pinming") &"' and 规格='"&  Vars("guige") &"'") '添加子表
        book.AddRelation("质检报告主表","编号","质检报告附表","编号") '建立关联
        book.AddRelation("质检报告主表","编号","成品有出厂检验","编号") '建立关联
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
       
        Sheet(10,2).Value = New XLS.Picture(GetImage(r("质检员")))
        Sheet(10,7).Value =New XLS.Picture(GetImage(shqm))
        Book.Build() '生成细节区
        Sheet = Book.Sheets(0)
       
       
        'Dim dr As DataRow= DataTables("系统设置").Find("图章存储位置<>''")
        Sheet(Sheet.Rows.Count-7, 4).Value  = New XLS.Picture(GetImage(drr("质检公章")))
        
        Dim str As String
        book.Savetopdf(fl)
       e.WriteBook(fl,"PDF"& format(now(),"yyMMdd")& Rand.Next(100) &".pdf",False)
 
        'Proc.File = fl
        'Proc.Start()
         '
  
    End If
   
   
   
   
Else
   ' MessageBox.Show("请先审核单据在生成报告")
    Return 0
End If
e.Handled = True

[此贴子已经被作者于2021/8/11 14:23:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 14:54:00 [只看该作者]

参考:http://www.foxtable.com/mobilehelp/topics/0288.htm,看示例三

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:802 积分:7702 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/8/12 11:13:00 [只看该作者]

 

代码在附件中

遇到问题如下

1、规格的值获取不到  Vars("gg") = e.PostValues("gg")

2、生成报告是否可以写在内  部函数中

3、生成的报告 能否下载

 4、

我做了简单的测试,excel可以生成网页,但不能下载,将生成报告语句在内部函数中调用 总是报错

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

[此贴子已经被作者于2021/8/12 11:20:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 11:37:00 [只看该作者]


[此贴子已经被作者于2021/8/12 11:37:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 11:41:00 [只看该作者]

1、要提交数据,请使用普通按钮:http://www.foxtable.com/mobilehelp/topics/0008.htm
2、可以用到内部函数,
函数
Dim e As RequestEventArgs = args(0)
    e.ResponseEncoding = "gb2312"
    
    Select Case e.Path
        Case "Reports\bg"
            Vars("gg") = e.PostValues("gg")
            cmd.CommandText="select t1.编号,t1.单据状态,t1.报告类型,t2.产品名称,t2.规格,t1.生产日期_开始 as 生产日期,t1.批次,t1.结论,t1.质检员,t1.制单,t1.审核,t1.批准 from 质检报告主表 t1  ,成品有出厂检验 t2  where   t1.编号= t2.编号 and t1.生产日期_开始='"& Vars("scrq") &"' And t2.产品名称='"& Vars("cpmc") &"' And t2.规格='"& Vars("gg") &"'"
            MessageBox.Show(cmd.CommandText)
            'Dim ddt As DataTable= cmd.ExecuteReader
            'If ddt.DataRows.count>=1 Then
            '
            'Dim r As DataRow= ddt.DataRows(0)
            'e.AsyncExecute = True
            ''Functions.AsyncExecute("baogao",e,r)
            'End If
            
            
            ' e.WriteBookAsHTML(Book)
        Case Else
            e.AsReportServer("Reports/")
    End Select

httprequest调用
……
    Case  "getProducts.htm"
        Dim vals As String
        
        cmd.CommandText="select t1.产品名称,t2.生产日期_开始,t1.规格 from 质检报告主表 t2 inner join 成品有出厂检验 t1 on t1.编号=t2.编号 where t2.生产日期_开始= '"& e.PostValues("scrq") &"'"
        
        Dim dt As DataTable= cmd.ExecuteReader
        If e.PostValues.Count = 1 Then
            vals  = "|" & dt.GetComboListString("产品名称","生产日期_开始='" & e.PostValues("scrq") & "'")
            Vars("scrq") = e.PostValues("scrq")
        ElseIf e.PostValues.Count = 2 Then
            Dim Filter As String = "生产日期_开始='" & e.PostValues("scrq") & "' And 产品名称='" & e.PostValues("cpmc") & "'"
            Vars("cpmc") = e.PostValues("cpmc")
            vals = "|" & Dt.GetComboListString("规格", Filter)
            'MessageBox.Show(filter)
        End If
 
        e.WriteString(vals)
        
End Select
If e.Path.StartsWith("Reports\")
Functions.Execute("xx函数",e)
endif
3、要下载不能使用网页格式,要发送xls或者pdf文件
[此贴子已经被作者于2021/8/12 11:41:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
aidimeng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:802 积分:7702 威望:0 精华:0 注册:2015/9/14 14:26:00
  发帖心情 Post By:2021/8/12 13:23:00 [只看该作者]

十分感谢,程序可以执行了,但最大的问题就是在生成excel转网页的时候特别慢,好像是一笔一笔画出来一样,等两分钟的样子页面打开了,有些地方还不显示

 

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

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

 

想着实现 可以网页查看 也可以下载,

[此贴子已经被作者于2021/8/12 13:25:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 13:51:00 [只看该作者]

上传网页,和下载报表建议分开处理。上面代码相当于一次生成了2个报表,在加上有图片,也就这样了

 回到顶部