• 字段名、字段数不确定时,用 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);

  • 相关阅读:
    ASP.NET API盘点
    C# POST与Get数据
    洛谷 P3373 【模板】线段树 2
    洛谷 P1972 [SDOI2009]HH的项链
    洛谷 P1113 杂务(vector)
    POJ 3249 Test for Job
    POJ 1734 Sightseeing trip(Floyd)
    洛谷 P1202 [USACO1.1]黑色星期五Friday the Thirteenth
    洛谷 P1484 种树
    洛谷 P1801 黑匣子_NOI导刊2010提高(06)
  • 原文地址:https://www.cnblogs.com/shsgl/p/4071455.html
Copyright © 2020-2023  润新知