Foxtable(狐表)用户栏目专家坐堂 → 打印出错


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

主题:打印出错

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/17 8:39:00 [显示全部帖子]

 你要判断字符的长度才行,比如

 

If e.DataCol.name = "班级全称"
    Dim c() As Char = {"级", "班"}

    Dim str As String = e.DataRow("班级全称")
    Dim s1() As String = str.Split(c)

    If s1.length >= 2 AndAlso s1(0).length >= 6 Then
        e.DataRow("班级") = s1(1).PadLeft(2,"0")
        e.DataRow("年级代码") = str(val(s1(0).Substring(4,2))+3)

    End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/17 15:18:00 [显示全部帖子]

If e.DataCol.name = "班级全称"
    Dim c() As Char = {"级", "班"}
    Dim str As String = e.DataRow("班级全称")
    If str > "" Then
        Dim s1() As String = str.Split(c)
        If s1.length >= 2 AndAlso s1(0).length >= 6 Then
            e.DataRow("班级") = s1(1).PadLeft(2,"0")
            e.DataRow("年级代码") = val(s1(0).Substring(4,2))+3
        End If
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 8:37:00 [显示全部帖子]

 预览是否正常?只是打印的时候不正常?报什么错?

 

 你可以一张一张打印,也就是每次new一个doc,每次print。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 14:15:00 [显示全部帖子]

 上传实例,或者贴出你写的代码。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 22:43:00 [显示全部帖子]

12楼的代码是否报错?也就是预览的时候是否报错?预览后直接打印是否报错?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/18 22:44:00 [显示全部帖子]

 一次打印一页,这样写(请先看13楼)

 

Dim tbl As Table = Tables("县区_table2")
tbl.sort= "考试号"
For i As Integer = 0 To tbl.Rows.count-1
    Dim doc As New PrintDoc
    Doc.PageSetting.BottomMargin = 0
    Doc.PageSetting.topMargin = 0
    Doc.PageSetting.leftMargin = 0
    Doc.PageSetting.rightMargin = 0
    doc.PageSetting.Width = 40 '纸张宽度为100毫米
    doc.PageSetting.Height = 30 '纸张高度为120毫米
    Dim r As Row = tbl.Rows(i)
    Dim rx As new prt.RenderText
    rx.Style.Font = New Font("黑体", 10, FontStyle.Bold) '设置字体
    rx.text =  Chr(10) & "东兴区18届生地结业考试" & Chr(10)  & Chr(10) & "  考点:" & r("考点学校") &  Chr(10)  & "  考场:" & r("考试号").Substring(4,3)  &  "   座位:" & r("考试号").Substring(7,2)  & Chr(10) & "  考号:" & r("考试号") & Chr(10) & "  姓名:" & r("姓名")
    doc.Body.Children.Add(rx)
    doc.preview()
Next

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/19 14:14:00 [显示全部帖子]

以下是引用有点色在2017/5/18 22:43:00的发言:
12楼的代码是否报错?也就是预览的时候是否报错?预览后直接打印是否报错?

 

无语,问的问题没有回答。预览时是否报错?预览后打印是否报错?请先确认是你数据问题还是打印问题。

 

doc.preview() 改成 doc.print 就是直接打印

 

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/19 17:38:00 [显示全部帖子]

你设置的打印的宽度或者高度,超过了打印机的宽高,就会有问题

 

doc.PageSetting.Width = 40 '纸张宽度为100毫米
doc.PageSetting.Height = 30 '纸张高度为120毫米

 

把你设置的 40、30 改小一点试试。

 

或者,你可以不预览,直接打印呢?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/19 17:49:00 [显示全部帖子]

 如果你改成比如 20 * 10 呢?还有没有问题?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/23 11:01:00 [显示全部帖子]


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