Foxtable(狐表)用户栏目专家坐堂 → [原创]打印选中的复选框中的内容


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

主题:[原创]打印选中的复选框中的内容

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
[原创]打印选中的复选框中的内容  发帖心情 Post By:2017/9/6 10:49:00 [显示全部帖子]

Dim i As Integer
For Each r As Row In Tables("数据表").rows
    r.Table.Position = r.Index
       Select Case Vars("规格")
        Case "0.5kg/袋"
            For i=1 To r("qty")/0.5 Step 1
                Dim doc As PrintDoc = e.Form.GernatePrintDoc()
                Doc.print()
            Next
        Case "1kg/袋"
            For i=1 To r("qty")/1 Step 1
               Dim doc As PrintDoc = e.Form.GernatePrintDoc()
                Doc.print()
            Next
    End Select
Next

已经在数据表中调出复选框选项,如何在该代码的基础上增加为只打印选中的复选框数据

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)Dim i As IntegerFor Each r As Row ...  发帖心情 Post By:2017/9/6 11:27:00 [显示全部帖子]

Dim cnames() As String = {"BarCode1", "BarCode2", "BarCode3"}
Dim ge As String = vars("规格").GetCheckedRows
ge = iif(ge="0.5kg/袋", "500.0g", iif(ge="1kg/袋", "1000.0g", ""))
For Each r As Row In Tables("数据表").rows
    Dim cnt As Integer = r("qty") / (val(ge.replace("g", "")) / 1000)
    Dim st As Integer = Math.Ceiling(cnt /3)
    For i As Integer = 0 To 2
        e.Form.controls("label" & i & "1").text = r("fullname")
        e.Form.controls("label" & i & "2").text = r("outfactorydate")
        e.Form.controls("label" & i & "3").text = r("jobnumber")
        e.Form.controls("label" & i & "4").text = ge
    Next
    For i As Integer = 0 To st - 1
        For Each cname As String In cnames
            Dim bar As WinForm.BarCode = e.Form.Controls(cname)
            Dim str As String = ""
            For j As Integer = 1 To 35
                str &= Rand.Next(10)
            Next
            bar.Code = "*" & str
            bar.Text = str.substring(0,12) & vbcrlf & str.SubString(12, 12) & vbcrlf & str.SubString(24)
        Next
        If i = st-1 Then
            If i * 3 + 1>=cnt Then
                e.Form.controls("label11").text = Nothing
                e.Form.controls("label12").text = Nothing
                e.Form.controls("label13").text = Nothing
                e.Form.controls("label14").text = Nothing
                Dim bar As WinForm.BarCode = e.Form.Controls("BarCode2")
                bar.Code = ""
                bar.Text = ""
            End If
            If i * 3 + 2>=cnt Then
                e.Form.controls("label21").text = Nothing
                e.Form.controls("label22").text = Nothing
                e.Form.controls("label23").text = Nothing
                e.Form.controls("label24").text = Nothing
                Dim bar As WinForm.BarCode = e.Form.Controls("BarCode3")
                bar.Code = ""
                bar.Text = ""
            End If
        End If
        Dim doc As PrintDoc = e.Form.GernatePrintDoc()
        doc.print
    Next
Next

这个该怎么加呢

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)Dim i As IntegerFor Each r As Row ...  发帖心情 Post By:2017/9/6 11:30:00 [显示全部帖子]

还有就是,我在窗口中的一个Label控件,现在是字数超过设置的长度就换行打印覆盖到下面的内容上面了,我想要他超出的那部分就不要打印了,怎么设置呢

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)以下是引用sysckj在2017/9/6 11:30:0...  发帖心情 Post By:2017/9/6 11:45:00 [显示全部帖子]

自动大小是False啊,但是打印出来就是自动换行了

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)以下是引用sysckj在2017/9/6 11:45:0...  发帖心情 Post By:2017/9/6 11:51:00 [显示全部帖子]

那我再调下高度看看,DateTimePicker日期控件怎么设置默认是计算机时间呢

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)以下是引用sysckj在2017/9/6 11:51:0...  发帖心情 Post By:2017/9/6 12:06:00 [显示全部帖子]

从字符串“2017-09-06 12:05:03#and billtype”到类型“Boolean”的转换无效。只能读取日期啊,读取到时间报错

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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(有点甜)以下是引用sysckj在2017/9/6 12:06:0...  发帖心情 Post By:2017/9/6 13:17:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.6.12.1
错误所在事件:窗口,界面,Button1,Click
详细错误信息:
从字符串“2017-09-06 13:16:40#and billtype”到类型“Boolean”的转换无效。
输入字符串的格式不正确。


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


加好友 发短信
等级:幼狐 帖子:132 积分:1657 威望:0 精华:0 注册:2014/6/9 14:21:00
回复:(sysckj)回复:(有点甜)以下是引用sysckj在...  发帖心情 Post By:2017/9/6 14:02:00 [显示全部帖子]

Tables("BillIndex").Filter="billdate >= #" & e.Form.Controls("DateTimePicker1").value & "# And [billdate] <= #" & e.Form.Controls("DateTimePicker2").value & "#" & "and billtype=34"

我现在是做了一个查询按钮,过滤时间段内的数据,可以直接加载窗口的按当前计算机日期执行该查询吗

 回到顶部