以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  专业报表中显示图片,但每次显示的图片数和内容都不同  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=86330)

--  作者:zunwoun
--  发布时间: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


--  作者:大红袍
--  发布时间:2016/6/15 15:49:00
--  
上传实例说明问题
--  作者:zunwoun
--  发布时间:2016/6/15 16:51:00
--  
怎样做例子,就是上面的程序代码,就缺需要显示的图片了
--  作者:大红袍
--  发布时间:2016/6/15 16:54:00
--  
 单独做一个可以测试例子发上来。
--  作者:zunwoun
--  发布时间:2016/6/15 17:54:00
--  
奇怪,同样的代码,单独把代码移到新项目去执行就没有问题,但在原项目就出现问题,搞不懂
--  作者:zunwoun
--  发布时间: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()


--  作者:大红袍
--  发布时间:2016/6/15 18:49:00
--  

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