以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 打印图片 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147395) |
-- 作者:deliangzhaoe -- 发布时间:2020/3/15 21:28:00 -- 打印图片 表D的图片列有四张图片,将这四张图片打印到一张纸上,怎样改一下代码? |
-- 作者:有点蓝 -- 发布时间:2020/3/15 23:31:00 -- …… \'打印现场照片页 Dim rt2 As New prt.RenderTable() \'定义一个表格对象 Dim rx2 As New prt.RenderText \'定义一个文本对象 Dim ra2 As New prt.RenderArea \'定义一个容器 ra2.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止容器因为分页而被垂直分割 \'设置一级标题 rx2.text = "公司继续教育培训记录-现场照片" rx2.Style.FontSize = 14 \'大体大小为18磅 rx2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx2.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离5毫米 ra2.Children.Add(rx2) \'加入到容器中 \'设置表格样式 rt2.Rows.Count = 1 \'设置总行数 rt2.Cols.Count = 1 \'设置总列数 rt2.Height = 250 \'设置表格的高度 rt2.Style.GridLines.All = New prt.LineDef(0.3,Color.blue) \'rt2.Rows(0).Height = 244 \'设置行的高度 \'\'rt2.Rows(1).Height = 122 \'rt2.Cols(0).Width = 210 \'设置列的宽度 \'rt2.Cols(1).Width = 105 \'设置表格样式 rt2.Style.GridLines.All = New prt.Linedef \'设置网格线 Dim rw2 As prt.Renderimage \'定义一个图片对象 Dim lst As List(of String) = rw.DataRow.Lines("现场照片") Dim p As Integer = 0 For k As Integer = 0 To lst.Count - 1 Step 2 rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k)) rw2.Width = 100 rw2.Height = 120 \'rw2.Style.ImageAlign.StretchHorz = False \'禁止水平方向扩展图片 \'rw2.Style.ImageAlign.StretchVert = False \'禁止垂直方向扩展图片 rt2.Cells(p,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k+1)) rw2.Width = 100 rw2.Height = 120 \'rw2.Style.ImageAlign.StretchHorz = False \'禁止水平方向扩展图片 \'rw2.Style.ImageAlign.StretchVert = False \'禁止垂直方向扩展图片 rt2.Cells(p,1).RenderObject = rw2 \'将单元格内容设置为图片对象rm p+=1 Next ra2.Children.Add(rt2) \'将表格对象加入到报表中 \'ra2.Children.Add(rw2) \'加入到容器中 Doc.Body.ChildRen.Add(ra2) \'将容器加入到报表中 Next Doc.Preview() \'预览报表 |
-- 作者:deliangzhaoe -- 发布时间:2020/3/16 16:48:00 -- p+=1 这 段是什么意思?
|
-- 作者:有点蓝 -- 发布时间:2020/3/16 16:52:00 -- 就是【p= p+1】,p变量累加 |
-- 作者:deliangzhaoe -- 发布时间:2020/3/16 21:04:00 -- For k As Integer = 0 To lst.Count - 1 Step 2 rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k+1)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,1).RenderObject = rw2 \'将单元格内容设置为图片对象rm p + = 1 Next 这段报错,老师帮忙再看一下: rw2.Image = GetImage(lst(k+1)) .NET Framework 版本:4.0.30319.1 Foxtable 版本:2020.1.19.19 错误所在事件:窗口,公司继续教育,公司继续教育显示所有1,Click 详细错误信息: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index [此贴子已经被作者于2020/3/16 21:05:07编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/3/16 21:09:00 -- For k As Integer = 0 To lst.Count - 1 Step 2 rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm if k+1 < lst.Count then rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k+1)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,1).RenderObject = rw2 \'将单元格内容设置为图片对象rm end if p + = 1 Next
|
-- 作者:deliangzhaoe -- 发布时间:2020/3/16 21:34:00 -- 不显示图片,是不是因为我的图片太大了。 |
-- 作者:有点蓝 -- 发布时间:2020/3/16 22:00:00 -- 图片放在哪里的? msgbox(rw.DataRow("现场照片"))
|
-- 作者:deliangzhaoe -- 发布时间:2020/3/17 18:39:00 -- 这是输出的结果: 现在的代码是: \'打印现场照片页 Dim rt2 As New prt.RenderTable() \'定义一个表格对象 Dim rx2 As New prt.RenderText \'定义一个文本对象 Dim ra2 As New prt.RenderArea \'定义一个容器 ra2.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止容器因为分页而被垂直分割 \'设置二级标题 rx2.text = "公司继续教育培训记录-现场照片" rx2.Style.FontSize = 14 \'大体大小为18磅 rx2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx2.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离5毫米 ra2.Children.Add(rx2) \'加入到容器中 \'设置表格样式 rt2.Rows.Count = 1 \'设置总行数 rt2.Cols.Count = 1 \'设置总列数 rt2.Height = 250 \'设置表格的高度 rt2.Style.GridLines.All = New prt.LineDef(0.3,Color.blue) \'设置表格样式 rt2.Style.GridLines.All = New prt.Linedef \'设置网格线 Dim rw2 As prt.Renderimage \'定义一个图片对象 Dim lst As List(of String) = rw.DataRow.Lines("现场照片") msgbox(rw.DataRow("现场照片")) Dim p As Integer = 0 For k As Integer = 0 To lst.Count - 1 Step 2 rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm If k+1 < lst.Count Then rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k+1)) rw2.Width = 100 rw2.Height = 120 rt2.Cells(p,1).RenderObject = rw2 \'将单元格内容设置为图片对象rm End If p + = 1 Next ra2.Children.Add(rt2) \'将表格对象加入到报表中 Doc.Body.ChildRen.Add(ra2) \'将容器加入到报表中Next |
-- 作者:有点蓝 -- 发布时间:2020/3/17 20:38:00 -- …… rt.Cells(0,0).Text= "企业名称" rt.Cells(0,1).Text = rw("企业名称") rt.Cells(0,2).Text= "年度" rt.Cells(0,3).Text = rw("年度") ra.Children.Add(rt) \'加入到容器中 Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中 \'打印现场照片页 Dim lst As List(of String) = rw.DataRow.Lines("现场照片") For k As Integer = 0 To lst.Count - 1 Step 2 Dim rt2 As New prt.RenderTable() \'定义一个表格对象 Dim rx2 As New prt.RenderText \'定义一个文本对象 Dim ra2 As New prt.RenderArea \'定义一个容器 ra2.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止容器因为分页而被垂直分割 \'设置一级标题 rx2.text = "公司继续教育培训记录-现场照片" rx2.Style.FontSize = 14 \'大体大小为18磅 rx2.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx2.Style.Spacing.Bottom = 3 \'和下面的对象(表格)距离5毫米 ra2.Children.Add(rx2) \'加入到容器中 \'设置表格样式 rt2.Rows.Count = 1 \'设置总行数 rt2.Cols.Count = 1 \'设置总列数 rt2.Height = 250 \'设置表格的高度 rt2.Style.GridLines.All = New prt.LineDef(0.3,Color.blue) \'设置表格样式 rt2.Style.GridLines.All = New prt.Linedef \'设置网格线 Dim rw2 As prt.Renderimage \'定义一个图片对象 rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k)) rw2.Height = 120 rt2.Cells(0,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm If k+1 < lst.Count Then rw2 = New prt.Renderimage \'定义一个图片对象 rw2.Image = GetImage(lst(k+1)) rw2.Height = 120 rt2.Cells(1,0).RenderObject = rw2 \'将单元格内容设置为图片对象rm End If ra2.Children.Add(rt2) \'将表格对象加入到报表中 Doc.Body.ChildRen.Add(ra2) \'将容器加入到报表中 Next Next Doc.Preview() \'预览报表 |