Foxtable(狐表)用户栏目专家坐堂 → 专业报表,图片不显示


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

主题:专业报表,图片不显示

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


加好友 发短信
等级:九尾狐 帖子:2466 积分:22761 威望:0 精华:0 注册:2011/3/29 17:14:00
专业报表,图片不显示  发帖心情 Post By:2020/11/16 15:14:00 [只看该作者]

图片不显示,求助!


Dim doc As New PrintDoc '定义一个报表
Dim tbl As Table = Tables("木作库")
For i As Integer = tbl.TopRow To tbl.BottomRow
    Dim rw As Row = tbl.Rows(i)
    Dim rt As New prt.RenderTable() '定义一个表格对象
    Dim rx As New prt.RenderText '定义一个文本对象
    Dim ra As New prt.RenderArea '定义一个容器
    Dim rm As New prt.RenderImage() '定义一个图片对象
    ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never  '禁止容器因为分页而被垂直分割
    '加入标题
    rx.text = "图卡萨产品型录"
    rx.Style.FontBold = True '字体加粗
    rx.Style.FontSize = 16 '大体大小为16磅
    rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
    rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
    ra.Children.Add(rx) '加入到容器中
    '指定行数?列数?列宽?行高
    'rt.Rows.Count = 7 '设置总行数
    'rt.Cols.Count = 5 '设置总列数
    'rt.Height = 75 '设置表格的高度
    'rt.Rows(6).Height = 30 '设置第7行(显示备注的行)的高度,剩余高度被平均分排到其他行
    'rt.Cols(0).Width = 26 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
    'rt.Cols(1).Width = 35
    'rt.Cols(2).Width = 26
    'rt.Cols(3).Width = 40
    '设置合并单元格
    rt.Cells(0,4).SpanRows = 5 '第1行第5个单元格向下合并6行(用于显示照片)
    rt.Cells(2,0).SpanCols = 4 '第5行第2个单元格向右合并3列(用于显示地址)
    rt.Cells(3,0).SpanCols = 4 '第5行第2个单元格向右合并3列(用于显示地址)
    rt.Cells(4,0).SpanCols = 4 '第5行第2个单元格向右合并3列(用于显示地址)
    rt.Cells(5,0).SpanCols = 4 '第5行第2个单元格向右合并3列(用于显示地址)
    '设置表格样式
    rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
    rt.Style.Spacing.Bottom = 5 '和下一个资料卡的距离是5毫米
    rt.Style.GridLines.All = New prt.Linedef '设置网格线
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center '内容垂直居中
    rt.Rows(6).Style.TextAlignVert = prt.AlignVertEnum.Top '唯独第7行是备注,内容靠上对齐
    '下面很简单,指定每一个单元格的内容
    rt.Cells(0,0).Text= "产品系列"
    rt.Cells(0,1).Text = rw("产品系列")
    rt.Cells(0,2).Text= "产品名称"
    rt.Cells(0,3).Text = rw("产品名称")
    
    rt.Cells(1,0).Text= "产品编号"
    rt.Cells(1,1).Text = rw("产品编号")
    rt.Cells(1,2).Text= "单位:"&rw("单位")
    rt.Cells(1,3).Text= "单价:"&rw("单价")
    rt.Cells(2,0).Text= "材质工艺:"&rw("材质工艺")
    rt.Cells(3,0).Text= "技术特性:"&rw("备注")
    rt.Cells(4,0).Text= "定制范畴:"&rw("备注")
    rt.Cells(5,0).Text= "其他备注:"&rw("备注")
    rt.Cells(5,4).Text= "标识:"&rw("备注")    
    rt.Cells(0,4).Image = GetImage(rw("图片"))      图片是局域网路径,显示不出来,列是可以显示图片的。 
    'rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
    ra.Children.Add(rt) '加入到容器中
    Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
Next
Doc.Preview() '预览报表



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


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/16 15:26:00 [只看该作者]


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


加好友 发短信
等级:九尾狐 帖子:2466 积分:22761 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2020/11/16 15:42:00 [只看该作者]

上面的代码是帮助里面直接抄的

http://www.foxtable.com/webhelp/index.htm?page=1208.htm

好奇他是怎么显示图片的
[此贴子已经被作者于2020/11/16 15:43:43编辑过]

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


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/16 15:49:00 [只看该作者]

如果图片不是在项目里的images目录,GetImage方法仅支持完整路径,如:

Dim img As Image = GetImage("\\192.168.1.1\abc\123.gif")
Output.Show(img.Width)

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


加好友 发短信
等级:九尾狐 帖子:2466 积分:22761 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2020/11/16 17:01:00 [只看该作者]

rt.Cells(0,4).Image = GetImage("\\Vce\toda$\数据文件"& rw("图片"))
这样好像不行

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


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/16 17:10:00 [只看该作者]

我测试没有问题,这个路径肯定是错的

msgbox("\\Vce\toda$\数据文件" & rw("图片"))

 回到顶部