zoukankan      html  css  js  c++  java
  • 字段名、字段数不确定时,用 FastReport 动态生成报表

    字段名、字段数不确定时,用 FastReport 动态生成报表


     放置有效地Table和DataSource,frxReport 和 frxDBDataSet,不需要再报表设计器内放置任何控件,直接由代码生成报表。

     但如果是交叉表,FastReport 也提供另外一种解决方案 TfrxCrossView 进行列表

     以下是全代码生成报表的简单例子。


     TfrxDataPage * DataPage;
     TfrxReportPage * Page;
     TfrxBand * Band;

     TfrxMasterData * DataBand;
     TfrxMemoView * Memo;

     // 清除原报表内容
     frxReport1->Clear();

     // 设置 Report 的 DataSet
     frxReport1->DataSets->Add(frxDBDataset1);


     // 添加 Report 的 Data 页
     DataPage = new TfrxDataPage(frxReport1);

     // 增加报表显示内容
     Page = new TfrxReportPage(frxReport1);
     Page->CreateUniqueName();


     // 设置 Fields 的默认尺寸
     Page->SetDefaults();


     // 页面方向
     Page->Orientation = poLandscape;

     // 页面边距

     Page->TopMargin = 20;
     Page->LeftMargin = 20;
     Page->TopMargin = 20;
     Page->BottomMargin = 20;

     // 创建报表 Title Band
     Band = new TfrxReportTitle(Page);
     Band->CreateUniqueName();

     Band->Top = 0;
     Band->Height = 20;

     // 创建显示 Field 的 Memo
     Memo = new TfrxMemoView(Band);
     Memo->CreateUniqueName();
     Memo->Text = "Hello FastReport!";
     Memo->Height = 20;


     // 风格
     Memo->Align = baWidth;

     // 创建 DataBand
     DataBand = new TfrxMasterData(Page);
     DataBand->CreateUniqueName();
     DataBand->DataSet = frxDBDataset1;

     DataBand->Top = 100;
     DataBand->Height = 20;

     // 将 Memo 添加到 DataBand 上
     Memo = new TfrxMemoView(DataBand);
     Memo->CreateUniqueName();


     // 连接数据
     Memo->DataSet = frxDBDataset1;

     // 显示 username 字段
     Memo->DataField = "username";
     Memo->SetBounds(0, 0, 100, 20);

     // memo 带边框

     Memo->Frame->Typ << ftLeft << ftRight << ftTop << ftBottom;


     // 风格
     Memo->HAlign = haRight;


     // 报表显示
     frxReport1->ShowReport(true);

  • 相关阅读:
    [WPF]Win10便签软件
    [WPF]使用Fody提高效率
    [WPF]限制程序单例运行
    [WPF]创建系统栏小图标
    Run Performance Testing Which Was Distributed To Multiple Test Agents
    FxZ,C#开发职位面试测试题(30分钟内必须完成)
    BYS推荐MS前端PhoneCall面试问题整理-2
    BYS推荐MS前端PhoneCall面试问题整理-1
    LxNx前端F2F面试问题整理
    复杂DIV交错布局
  • 原文地址:https://www.cnblogs.com/shsgl/p/4071455.html
Copyright © 2011-2022 走看看