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


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

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

帅哥哟,离线,有人找我吗?
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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/6 11:05:00 [只看该作者]

Dim i As Integer
For Each r As Row In Tables("数据表").GetCheckedRows
   

 回到顶部
帅哥哟,离线,有人找我吗?
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: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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控件,现在是字数超过设置的长度就换行打印覆盖到下面的内容上面了,我想要他超出的那部分就不要打印了,怎么设置呢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/6 11:35:00 [只看该作者]

For Each r As Row In Tables("数据表").rows

 

改成

 

For Each r As Row In Tables("数据表").GetCheckedRows


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/6 11:39:00 [只看该作者]

以下是引用sysckj在2017/9/6 11:30:00的发言:
还有就是,我在窗口中的一个Label控件,现在是字数超过设置的长度就换行打印覆盖到下面的内容上面了,我想要他超出的那部分就不要打印了,怎么设置呢

 

你可以设置label的自动大小->False;宽高设置成你定义的宽高。


 回到顶部
帅哥哟,离线,有人找我吗?
sysckj
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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啊,但是打印出来就是自动换行了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/6 11:48:00 [只看该作者]

以下是引用sysckj在2017/9/6 11:45:00的发言:
自动大小是False啊,但是打印出来就是自动换行了

 

打印出来的,是你设置的控件的宽度和高度那个大小的,不会超出打印的。


 回到顶部
帅哥哟,离线,有人找我吗?
sysckj
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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日期控件怎么设置默认是计算机时间呢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/6 11:57:00 [只看该作者]

以下是引用sysckj在2017/9/6 11:51:00的发言:
那我再调下高度看看,DateTimePicker日期控件怎么设置默认是计算机时间呢

 

e.form.controls("DateTimePicker1").Value = Date.Now


 回到顶部
总数 16 1 2 下一页