以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表,图片不显示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158321) |
-- 作者:yifan3429 -- 发布时间: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() \'预览报表 |
-- 作者:有点蓝 -- 发布时间:2020/11/16 15:26:00 -- 这种方式添加图片:http://www.foxtable.com/webhelp/topics/1208.htm |
-- 作者:yifan3429 -- 发布时间:2020/11/16 15:42:00 -- 上面的代码是帮助里面直接抄的 http://www.foxtable.com/webhelp/index.htm?page=1208.htm 好奇他是怎么显示图片的
[此贴子已经被作者于2020/11/16 15:43:43编辑过]
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2020/11/16 17:01:00 -- rt.Cells(0,4).Image = GetImage("\\\\Vce\\toda$\\数据文件"& rw("图片")) 这样好像不行
|
-- 作者:有点蓝 -- 发布时间:2020/11/16 17:10:00 -- 我测试没有问题,这个路径肯定是错的 msgbox("\\\\Vce\\toda$\\数据文件" & rw("图片"))
|