以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  GetComboListString 不是 Tables 的成员  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148690)

--  作者:edisontsui
--  发布时间:2020/4/13 13:41:00
--  GetComboListString 不是 Tables 的成员
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:so号与箱号-打印结果.rar


请看附件里面有三个文档。我希望一个“SO号与箱号”就打印一张标签,同一张标签里面如果有相同“产品型号”的,就要将其数量进行合并。现在我的代码存在两个问题:1.  同一张标签里面如果有相同“产品型号”的,打印结果没有将相同的“产品型号”进行合并;2. 数量这列数据总是显示不出来。请教是什么原因。谢谢。

--  作者:有点蓝
--  发布时间:2020/4/13 16:07:00
--  
试试

    \'-----填入表格的标题
    For c As Integer = 0 To 1
        rt = new prt.RenderText
        rt.Text = tt(c)
        re.Cells(0,c).RenderObject = rt
        re.Rows(0).Height = 8
        re.Style.Font = New Font("Arial", 10)
        
    Next
    Dim filter As String = Tables("JP944任务单").filter
    If filter > "" Then  filter = filter  & " and "
    Dim Products As List(Of String) = DataTables("JP944任务单").GetValues("产品型号",filter & " SO号与箱号 =\'" & ctn(s-1) & "\'")
    For Each sss As String In Products
        rt = new prt.RenderText
        rt.text = sss
        re.Rows(r).Height = 8
        re.cells(r,0).RenderObject = rt
        re.Style.Font = New Font("Arial", 10)
        
        rt = new prt.RenderText
        rt.text = Tables("JP944任务单").Compute("sum(数量个)","SO号与箱号 =\'" & ctn(s-1) & "\' and 产品型号=\'" & sss & "\'")
        re.Rows(r).Height = 8
        re.cells(r,1).RenderObject = rt
        re.Style.Font = New Font("Arial", 10)
    Next
    ra.children.add(re)
    
    ty = DataTables("JP944任务单").GetComboListString("箱号",  "[SO号与箱号] =\'" &  ctn(s-1) & "\'")
    rt = new prt.RenderText
    rt.text = ty
    rt.x = 56
    rt.y = 163
    rt.Style.Font = New Font("Arial",24,FontStyle.Bold)
    ra.children.add(rt)

--  作者:edisontsui
--  发布时间:2020/4/14 8:10:00
--  
我将 re.Rows(r).Height 和 re.cells(r,1) 括号里面的 r 都改成 sss 了,会出现如下警告:

.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2017.3.18.1
错误所在事件:窗口,ZJ外箱标签,Button1,Click
详细错误信息:
从字符串“CJPN425VM54”(即产品型号)到类型“Integer”的转换无效。
输入字符串的格式不正确。

--  作者:有点蓝
--  发布时间:2020/4/14 9:32:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码有问题
--  作者:有点蓝
--  发布时间:2020/4/14 9:33:00
--  
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看看是哪一句代码有问题
--  作者:edisontsui
--  发布时间:2020/4/14 13:03:00
--  
MessageBox.Show(1)
    Dim filter As String = Tables("JP944任务单").filter
    If filter > "" Then  filter = filter  & " and "
    Dim Products As List(Of String) = DataTables("JP944任务单").GetValues("产品型号",filter & " SO号与箱号 =\'" & ctn(s-1) & "\'")
MessageBox.Show(2)
    For Each sss As String In Products
MessageBox.Show(3)
        rt = new prt.RenderText
        rt.text = Tables("JP944任务单").rows(sss-1)("产品型号")
        re.Rows(sss).Height = 8
        re.cells(sss,0).renderObject = rt
        re.Style.Font = New Font("Arial", 10)
        
        rt = new prt.RenderText
        rt.text = Tables("JP944任务单").Compute("sum(数量个)","SO号与箱号 =\'" & ctn(s-1) & "\' and 产品型号=\'" & sss & "\'")
        re.Rows(sss).Height = 8
        re.cells(sss,1).RenderObject = rt
        re.Style.Font = New Font("Arial", 10)
MessageBox.Show(4)

上述代码,运行时出现“3”之后就从字符串“CJPN425VM54”(即产品型号)到类型“double”的转换无效,我认为是  re.Rows(?) 里面的?没有定义好,但是我不知道怎么去定义它。

--  作者:有点蓝
--  发布时间:2020/4/14 14:12:00
--  
MessageBox.Show(1)
    Dim filter As String = Tables("JP944任务单").filter
    If filter > "" Then  filter = filter  & " and "
    Dim Products As List(Of String) = DataTables("JP944任务单").GetValues("产品型号",filter & " SO号与箱号 =\'" & ctn(s-1) & "\'")
MessageBox.Show(2)
dim idx as integer = 0
    For Each sss As String In Products
MessageBox.Show(3)
        rt = new prt.RenderText
        rt.text = Tables("JP944任务单").rows(sss-1)("产品型号")
        re.Rows(idx ).Height = 8
        re.cells(idx ,0).renderObject = rt
        re.Style.Font = New Font("Arial", 10)
        
        rt = new prt.RenderText
        rt.text = Tables("JP944任务单").Compute("sum(数量个)","SO号与箱号 =\'" & ctn(s-1) & "\' and 产品型号=\'" & sss & "\'")
        re.cells(idx ,1).RenderObject = rt
        re.Style.Font = New Font("Arial", 10)
idx += 1
MessageBox.Show(4)


--  作者:edisontsui
--  发布时间:2020/4/14 17:34:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:箱号问题.rar


上面是我的测试项目,不好意思,按钮里面的代码少了一句 dx += 1, 就算加上这句,也还是出来一样的警告:从字符串“CJPN425VM54_SP”到类型“Double”的转换无效。

--  作者:edisontsui
--  发布时间:2020/4/14 18:03:00
--  
测试项目设置好表格列名、加好按钮之后就无法更改了。
--  作者:有点蓝
--  发布时间:2020/4/14 20:30:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:箱号问题.rar