我现在有一个这样的难题:
要求以文件形式调用水晶报表但不预览报表(Not ViewReport)直接打印出来(PrintOut),这样我是没有问题的,但关于报表中图片的调用就不行了----我所知道的在报表中可以有两种方法动态加入图片的:
1.以AddOleObject 方式(但这样图片却不能根据它的数据的变化而变化,例如在下一个Section中我想换一个图片就不行了)
2.程序内部调用报表定义它的一个事件(Section_Format),这样是可以做到的图片的动态变化的,但它却必须要通过预览(ViewReport)才可以触发Section_Format事件.(我查了好久它的帮助,没有找到什么可以解决的,我在想是我不知道,还是水晶报表本不能这样做到,那我就觉得这部分水晶报表做得很烂.唉唉唉唉!.......)请各位大侠帮帮忙.thx !

解决方案 »

  1.   

    如果没有办法只有把Picture存在数据库中去实现了,唉......,真tmd bt !
      

  2.   

    楼主能做到这份上已经很牛了 ^_^
    再高的大侠估计是等不到了实在不行你就用viewreport,但是把水晶报表控件缩到最小或者隐藏掉
      

  3.   

    哈哈哈,我已经做到了,只是因为水晶报表的帮助是英文的,我理解错了,它说section_format事件必须通过一个可视化Object才行,我理解为一定是通过ViewReport这个方法才通触发这个事件,其实是不必须的。
    如:
        Public m_Report As CRADRT.Report
        Public WithEvents oSection As CRADRT.Sections    ...    Set oSection=m_Report.Sections(5)    ...    Private Sub oSection_Format()
          Dim PicObj as Object
          Set PicObj=oSection.ReportObjects("Picture1")
          ...      PicObj.Picture=LoadPicture("C:\test.jpg")
                  
          ...
        End Sub别的方法就是将图片做为一个字段以二进制(image型态)存在数据库中,Crystal Report 可以直接取出。但这种方法一般公司都不用。所以逼得没办法用上面的方法。谢谢各位了!!!