Foxtable(狐表)用户栏目专家坐堂 → [求助]生成专业报表中插入图片


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

主题:[求助]生成专业报表中插入图片

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 8:54:00 [显示全部帖子]

问题1,大概这样

Rows = tbl.DataTable.Select("[桥梁名称] = '" & Region(0) & "'and [部件名称] = '" & Region(2) & "'")
For c As Integer = 4 To tbl.Cols.Count - 1
    rt.Cells(0,c).Text = tbl.Cols(c).Name
    rt.Cols(c).Width = tbl.Cols(c).PrintWidth
    For r As Integer = 0 To Rows.Count -1
        rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name)
    Next
Next

Dim rm As prt.RenderImage 
For r As Integer = 0 To Rows.Count -1
    rm = new prt.RenderImage '定义一个图片对象
    '默认,按比例拉伸
    rm.Width = 40 '设置尺寸
    rm.Height = 40
    rm.Image = GetImage( ProjectPath & Rows(r)("图片")) '设置图片
    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
    rm.Style.Spacing = 5
    doc.Body.Children.Add(rm)
Next

问题2,没有办法

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 10:32:00 [显示全部帖子]

Dim rm As prt.RenderImage
For r As Integer = 0 To Rows.Count -1
    rm = new prt.RenderImage '定义一个图片对象
    '默认,按比例拉伸
    rm.Width = 40 '设置尺寸
    rm.Height = 40
    Dim lst As List(of String) = Rows(r).DataRow.lines("照片或图片")
    For Each s As String In lst
        rm.Image = GetImage( ProjectPath & "Attachments\" & s) '设置图片
        MessageBox.Show( ProjectPath & "Attachments\" & s)
        rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
        rm.Style.Spacing.All = 5
        doc.Body.Children.Add(rm)
    Next
Next

另外图片名称还有必要打印出来吗?

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 11:08:00 [显示全部帖子]

Dim lst As List(of String) = Rows(r).lines("照片或图片")

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 11:25:00 [显示全部帖子]

贴出完整代码

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 11:39:00 [显示全部帖子]

代码换下位置
For r As Integer = 0 To Rows.Count -1
    Dim lst As List(of String) = Rows(r).lines("照片或图片")
    For Each s As String In lst
        rm = new prt.RenderImage '定义一个图片对象
        '默认,按比例拉伸
        rm.Width = 40 '设置尺寸
        rm.Height = 40
        rm.Image = GetImage( ProjectPath & "Attachments\" & s) '设置图片
        MessageBox.Show( ProjectPath & "Attachments\" & s)
        rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '居中显示
        rm.Style.Spacing.All = 5
        doc.Body.Children.Add(rm)
    Next
Next    

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109540 积分:557374 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/26 13:42:00 [显示全部帖子]

把Foxtable卸载掉,换个目录重新安装一下Foxtable。

另外打印加载图片是比较耗内存的,建议不要一次性打印太多的记录。

 回到顶部