报表datareport上面有一rtpimage图片,放在细节里面的。
从数据库里面查询出多条数据,我希望每条数据都显示一张不同的图片。
Set datareport1.Sections(3).Controls(3).Picture = LoadPicture(图片名称)
结果多条记录都显示的同一张图片?怎么才能在不同的记录显示不同的图片呢?如果答对了这个问题,下面这个问题的分也是他的
http://expert.csdn.net/Expert/topic/2053/2053962.xml?temp=.5934259

解决方案 »

  1.   

    to : binbin2000你从数据库中取出图片看一下,究竟是什么图片是数据库中取出来不对?还是datareport显示不对?
      

  2.   

    我取出来了,从两条记录去的是两张不同的图片,然后往datareport中放,结果始终显示最后一张图片。
    下面是我的代码
    Do While rsdb.EOF <> True
        If rsdb.Fields("DOC_ARCH_CONTENT").ActualSize > 0 Then
                bit1 = rsdb.Fields("DOC_ARCH_CONTENT").GetChunk(rsdb.Fields("DOC_ARCH_CONTENT").ActualSize)
                Open "c:\1.jpg" For Binary As #1
                Put 1, 1, bit1
                Close 1
        
                Set DPrint.Sections(3).Controls(3).Picture = LoadPicture("c:\1.jpg")
                
                Kill ("c:\1.jpg")
            End If
        rsdb.MoveNext
    Loop
      

  3.   


    这儿不对:Set DPrint.Sections(3).Controls(3).Picture = LoadPicture("c:\1.jpg")都是给controls(3)加图片,都是给一个控件加图片
      

  4.   

    如果有两幅图,就得用两个image控件
      

  5.   

    lihonggen0(李洪根,用.NET,标准答案来了)说得的很有道理嘛
      

  6.   

    to lihonggen0(李洪根,用.NET,标准答案来了):
    是每条记录中都有个字段是图片,然后每条记录显示自己的图片。不是两幅图。
      

  7.   

    我建议你用print自己写个打印的方法,因为datareport的rptImage并不支持数据源!!如果只是简单的显示你当然可以自己计算好一页的位置然后"页标头"一张张set!
    用print自己写就可以灵活多了...
      

  8.   


    datareport的image不能和数据库绑定,
    只得每条记录加个相应的image控件建议你的图片不要显示得太多,一页纸上用上三五个image控件
    显示三五个图片就可以了每次打印一页
      

  9.   

    还有一种方案:就是用mshflexgrid显示数据库的内容,因为mshflexgrid能显示图片打印的时候打印flexgridhttp://www.dapha.net/down/show.asp?classid=1&Nclassid=140
      

  10.   

    加个timer控件,逐个显示,应该是个动画效果吧。