在VB工程中用DataReport做了一个报表:这个报表比较宽,但在工程中预览时,自动使用页面横向显示(不知道是为什么,以前好象不会呀)。打包成安装程序后,在我的机器上安装(Win2000),报表使用也没有问题,自动换成横向。但当我在另一台机器(Win98)上安装后,怪事出现了,报表使用时报错:“报表宽度大于页面宽度”,它又不会转换了。:(请问这是为什么?要怎样才能解决这个问题呢?

解决方案 »

  1.   

    Private Sub DataReport_Initialize()
    DataReport1.Orientation =rptOrientLandscape 
    End Sub
      

  2.   

    报表初始化时需要读打印机驱动程序的设置信息,如果你的默认的打印机驱动是“纵向”,那么你的报表在预览的时候就以“纵向”的模式显示,如果你的报表在设计时是以“横向”显示的,在预览里
    肯定会提示你的:“报表宽度大于页面宽度”了。你可以在报表的有个错误处理事件里,获取错误信息,如果错误信息=“报表宽度大于页面宽度”,你就用Printer对象把纸张的方向设置成“横向”。不就结了?
      

  3.   

    uvmusic(帮你帮我) :不对呀,出错“找不到方法或数据成员”
    XJB66(斌) ( ) :用printer怎么写呀。DataReport要用到这个对象吗?
      

  4.   

    而且Printer设置的是打印时的页面形式,预览时要怎么设置呢?