Foxtable(狐表)用户栏目专家坐堂 → 标签间隔


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

主题:标签间隔

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
标签间隔  发帖心情 Post By:2018/2/6 9:48:00 [只看该作者]


Dim tb As Table=Tables("学生信息")
Dim rs As List(of Row) = tb.GetCheckedRows()
If rs.Count>=1
    For Each r As Row In tb.getcheckedrows()
        If r("学生姓名") = Nothing Or r("就读方式") = Nothing Or r("班级")= Nothing Or r("相片") = Nothing
            messagebox.show("您所勾选的记录存在学生姓名或就读方式或班级或相片等必要信息,请填好相关信息再打印")
            Return
        End If
    Next
    Dim doc As New PrintDoc '定义一个报表
    Dim Rows As List(Of DataRow)
    doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
    Doc.PageSetting.leftMargin = 10
    Doc.PageSetting.rightMargin = 0
    Doc.PageSetting.TopMargin  =10
    Doc.PageSetting.BottomMargin  =0
    For Each r As Row In tb.getcheckedrows()
        Dim ra As New prt.RenderArea
        Dim rt As prt.RenderText
        ra.Width = 90 '宽度53毫米
        ra.Height = 55 '高度24毫米
        ra.Style.Spacing.all = 6
        ra.Style.Borders.All = New prt.Linedef(0.1, Color.Red) '设置边框
        ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
        ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
        Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
        rt = New prt.RenderText
        rt.Text = r("学校名称")
        rt.Style.Font=New Font("黑体", 15, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
        rt.Y = 6
        ra.Children.Add(rt) '添加到容器中
        rt = New prt.RenderText
        rt.Text = "姓名:" & r("学生姓名")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y =22
        rt.x=35
        ra.Children.Add(rt) '添加到容器中
        rt = New prt.RenderText
        rt.Text = "班级:" &r("班级")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y = 31
        rt.x= 35
        ra.Children.Add(rt) '添加到容器
        rt = New prt.RenderText
        rt.Text = "备注:" & r("就读方式")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y = 40
        rt.x=35
        ra.Children.Add(rt) '添加到容
        Dim rm As New prt.RenderImage()
        rm.Image= GetImage(projectPath & "remotefiles" & r("相片"))
        rm.Width=30
        rm.Height=40
        rm.Y = 15
        ra.Children.Add(rm) '添加到容
        r.Checked = False
    
    Doc.Preview() '预览报表
Else
    PopMessage("你根本没在表格的最左边方框内勾选要打印的记录哟","友情提示", PopIconEnum.Infomation, 3)
End If



老师,请问当 ra.Style.Spacing.all = 6时出现挤占每张图片的大小了,当 ra.Style.Spacing.all = 0时大小是正常的,但没有空隙,不方便裁剪,我想达到有空隙,但不影响每张图片大小,请问怎么办?


[此贴子已经被作者于2018/2/6 10:43:45编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
图片间隔2  发帖心情 Post By:2018/2/6 9:51:00 [只看该作者]


Dim tb As Table=Tables("学生信息")
Dim rs As List(of Row) = tb.GetCheckedRows()
If rs.Count>=1
    For Each r As Row In tb.getcheckedrows()
        If r("学生姓名") = Nothing Or r("就读方式") = Nothing Or r("班级")= Nothing Or r("相片") = Nothing
            messagebox.show("您所勾选的记录存在学生姓名或就读方式或班级或相片等必要信息,请填好相关信息再打印")
            Return
        End If
    Next
    Dim doc As New PrintDoc '定义一个报表
    Dim Rows As List(Of DataRow)
    doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
    Doc.PageSetting.leftMargin = 10
    Doc.PageSetting.rightMargin = 0
    Doc.PageSetting.TopMargin  =10
    Doc.PageSetting.BottomMargin  =0
    For Each r As Row In tb.getcheckedrows()
        Dim ra As New prt.RenderArea
        Dim rt As prt.RenderText
        ra.Width = 90 '宽度53毫米
        ra.Height = 55 '高度24毫米
        ra.Style.Spacing.all = 6
        ra.Style.Borders.All = New prt.Linedef(0.1, Color.Red) '设置边框
        ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
        ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
        Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
        rt = New prt.RenderText
        rt.Text = r("学校名称")
        rt.Style.Font=New Font("黑体", 15, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
        rt.Y = 6
        ra.Children.Add(rt) '添加到容器中
        rt = New prt.RenderText
        rt.Text = "姓名:" & r("学生姓名")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y =22
        rt.x=35
        ra.Children.Add(rt) '添加到容器中
        rt = New prt.RenderText
        rt.Text = "班级:" &r("班级")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y = 31
        rt.x= 35
        ra.Children.Add(rt) '添加到容器
        rt = New prt.RenderText
        rt.Text = "备注:" & r("就读方式")
        rt.Style.Font=New Font("黑体", 13, FontStyle.Bold)
        If r("就读方式")="住校"
            rt.Style.TextColor=Color.red
        Else
            rt.Style.TextColor=Color.blue
        End If
        
        rt.Y = 40
        rt.x=35
        ra.Children.Add(rt) '添加到容
        Dim rm As New prt.RenderImage()
        rm.Image= GetImage(projectPath & "remotefiles" & r("相片"))
        rm.Width=30
        rm.Height=40
        rm.Y = 15
        ra.Children.Add(rm) '添加到容
        r.Checked = False
    Next
    Doc.Preview() '预览报表
Else
    PopMessage("你根本没在表格的最左边方框内勾选要打印的记录哟","友情提示", PopIconEnum.Infomation, 3)
End If



这是图片正常,但没有间隔

这是有间隔,但图片大小变了

[此贴子已经被作者于2018/2/6 10:44:08编辑过]

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


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

不要设置all,你可以设置bottom等,参考

 

http://www.foxtable.com/webhelp/scr/1173.htm

 


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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2018/2/6 9:57:00 [只看该作者]

试过,一样的

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2018/2/6 9:58:00 [只看该作者]

left,right,bottom都试过,都要改变图片大小

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


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

以下是引用刘林在2018/2/6 9:58:00的发言:
left,right,bottom都试过,都要改变图片大小

 

那你就把ra的高度height调高一些


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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2018/2/6 10:02:00 [只看该作者]

ra.Width = 90 
ra.Height = 55
是固定值也就是名片大小 ,但要把每两张间隙要留出来,方便裁剪,实际是做批量印学生证,大小不能变

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


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

调整测试过再说

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


加好友 发短信
等级:八尾狐 帖子:1942 积分:14943 威望:0 精华:0 注册:2016/4/28 9:58:00
  发帖心情 Post By:2018/2/6 10:12:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180206100826.png
图片点击可在新窗口打开查看

这是将 ra.Style.Spacing.left = 3   ra.Style.Spacing.bottom =3的结果,我发现是间隙调了,同时图片也小了这样多,我用先后图片比对了的

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


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

调整好ra的宽高width、height。

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