Foxtable(狐表)用户栏目专家坐堂 → 专业报表中显示图片,但每次显示的图片数和内容都不同


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

主题:专业报表中显示图片,但每次显示的图片数和内容都不同

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


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
专业报表中显示图片,但每次显示的图片数和内容都不同  发帖心情 Post By:2016/6/15 15:21:00 [只看该作者]

以下程序我是根据图片数量显示在专业报表中,每张图片显示一页,第一次显示是正确的,如果关闭预览画面,再执行一次,显示的图片数量会不断减少,图片内容也不连续,执行减少到一定程序就正常显示,然后继续循环,请问是什么原因?


        '定义表格式*****************************************************************************************
        Dim doc1 As New PrintDoc
        Doc1=Nothing
        doc1.PageSetting.Landscape = True '竖向打印
        doc1.Stacking = prt.StackingRulesEnum.BlockTopToBottom
       
        Doc1.PageSetting.LeftMargin = 0 '设置左边距
        Doc1.PageSetting.RightMargin = 0 '设置右边距
        Doc1.PageSetting.TopMargin = 0 '设置上边距
        Doc1.PageSetting.BottomMargin =0 '设置下边距
       
        ' Dim rt As New prt.RenderTable() '定义一个表格对象
        ' doc1.Body.Children.Add(rt) '将表格对象加入到报表中
        For I As Integer=1 To dr("图片数量")
            Dim 本地图片 As String=系统盘 & "\zw\tools\" & 编号 & ("" & i).PadLeft(2,"0") & ".jpg"
            Dim rm As New prt.RenderImage '定义一个图片对象
            rm.Image = GetImage(本地图片)
            rm.height="auto"
            rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.center '图片水平居中
            rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.top '图片垂直居上
            doc1.Body.Children.Add(rm) '将表格对象加入到报表中
            ' rt.Cells(i, 0).RenderObject = rm '将图片对象加入报表
            ' If  i<dr("图片数量")
            '   rt.BreakAfter = prt.BreakEnum.page
            ' End If
        Next
       
        _MyDoc1 = Doc1
        forms("预览报表1").Show


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 15:49:00 [只看该作者]

上传实例说明问题

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


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2016/6/15 16:51:00 [只看该作者]

怎样做例子,就是上面的程序代码,就缺需要显示的图片了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 16:54:00 [只看该作者]

 单独做一个可以测试例子发上来。

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


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2016/6/15 17:54:00 [只看该作者]

奇怪,同样的代码,单独把代码移到新项目去执行就没有问题,但在原项目就出现问题,搞不懂

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


加好友 发短信
等级:童狐 帖子:248 积分:3073 威望:0 精华:0 注册:2012/5/13 14:59:00
  发帖心情 Post By:2016/6/15 17:58:00 [只看该作者]

同样的代码,我在原项目的命令窗口执行有问题,在新项目的命令窗口执行没有问题,为什么?

 

 

Dim doc2 As New PrintDoc

doc2.PageSetting.Landscape = True '竖向打印
doc2.Stacking = prt.StackingRulesEnum.BlockTopToBottom

Doc2.PageSetting.LeftMargin = 1 '设置左边距
Doc2.PageSetting.RightMargin = 1 '设置右边距
Doc2.PageSetting.TopMargin = 1 '设置上边距
Doc2.PageSetting.BottomMargin =1 '设置下边距
For I As Integer=1 To 24
   
    Dim 本地图片 As String= "c:\zw\tools\zsa0001" &  ("" & i).PadLeft(2,"0") & ".jpg"
    Dim rm As New prt.RenderImage '定义一个图片对象
    rm.Image = GetImage(本地图片)
    rm.height="auto"
    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.center '图片水平居中
    rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.top '图片垂直居上
    doc2.Body.Children.Add(rm) '将表格对象加入到报表中
Next
Doc2.Preview()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/15 18:49:00 [只看该作者]

执行的,都是6楼的代码?

 

 


 回到顶部