首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Rave Report 自定义预览解决方案

2013-01-06 
Rave Report 自定义预览我想自定义预览,网上有如下代码:如何自已做预览窗口 创建一个窗口,在上面放RvProje

Rave Report 自定义预览
我想自定义预览,网上有如下代码:


如何自已做预览窗口 
创建一个窗口,在上面放RvProject组件、RvNDRWriter组件、RvRenderPreview组件和
ScrollBox组件,设定以下几个部件间的联系关系:

RvProject.Engine:=RvNDRWriter;

RvRenderPreview.ScrollBox:=ScrollBox;

设定RvNDRWriter.filename为 demo.ndr ;

进行预览的代码为:

var
  NDRStream:TMemoryStream;
begin
  //建立内存流
  NDRStream:=TMemoryStream.Create 
  //输出报表数据
  RvProject1.Execute 
  //将报表数据调入内存流中供预览
  NDRStream.LoadFromFile('demo.ndr');
  //预览相应的报表,使用的是相应的内存流。
  RvRenderPreview1.Render(NDRStream);
  ShowButton();
end;

 
问题:1.Rave Design 生成的是 '*.rav'文件,  何来‘*.ndr’?
      2.ShowButton()什么的干活,无效啊
[解决办法]
1.ndr 自动生成
2.一定要TRvDataSetConnection
3.正确代码:


  NDRStream:=TMemoryStream.Create ;

  DataModule2.RvProject1.Engine := RvNDRWriter1;
  DataModule2.RvProject1.Open;
  DataModule2.RvProject1.SelectReport('Report1',true); 
  With DataModule2.RvProject1.ProjMan do
  begin
    MyPage := FindRaveComponent('Report1.Page1',nil) as TRavePage;
    MyBitMap := FindRaveComponent('Bitmap1',MyPage) as   TRaveBitmap;
    MyBitMap.Image.LoadFromFile('1.bmp');
  end;
  RvNDRWriter1.FileName:='Report1.ndr';
  RvNDRWriter1.StreamMode:=smfile; 
  DataModule2.RvProject1.Execute;

  NDRStream.LoadFromFile('Report1.ndr');
  
  RvRenderPreview1.Render(NDRStream);

热点排行