FastReportを使用してDelphiで固定行数を印刷するには?
Delphi で FastReport にて固定行数で印刷を行う場合は、以下手順にて実装可能
- まず、FastReport デザイナーでレポートテンプレートを作成します。
- レポートテンプレートにデータセットを追加して、印刷するデータを入れる
- データを表示するためのテーブルコンポーネントをレポートテンプレートに追加する
- データを表示するために、データセットとテーブルコンポーネントを関連付けます。
- レポートテンプレートに含まれるテーブルコンポーネントの行数を固定に設定する。
- DelphiコードでFastReportレポートオブジェクトを作成します。
- レポートオブジェクトにレポートテンプレートファイルをロードする。
- データセットにデータを投入する
- レポート オブジェクトの print メソッドを呼び出して、印刷を実行します。
こちらに、固定された行数のレポートを印刷するためのFastReportの使用例を示すサンプルコードがあります。
procedure TForm1.Button1Click(Sender: TObject);
var
Report: TfrxReport;
DataSource: TfrxUserDataSet;
begin
// 创建报表对象
Report := TfrxReport.Create(nil);
try
// 加载报表模板文件
Report.LoadFromFile('ReportTemplate.fr3');
// 获取数据集对象
DataSource := Report.FindObject('DataSet1') as TfrxUserDataSet;
// 清空数据集
DataSource.Clear;
// 添加数据到数据集
DataSource.Append;
DataSource['Field1'] := 'Value1';
DataSource['Field2'] := 'Value2';
// 添加更多数据...
DataSource.Post;
// 设置表格的行数为固定值
(Report.FindObject('Table1') as TfrxTableObject).RowCount := 10;
// 打印报表
Report.ShowReport;
finally
Report.Free;
end;
end;
上記のサンプルコードでは、レポートテンプレートファイルが「ReportTemplate.fr3」、データセット名が「DataSet1」、テーブルコンポーネント名が「Table1」であるものとします。テーブルのRowCountプロパティに固定値を設定することで、テーブルの行数を制御できます。コードでは、データセットにデータを追加することでレポートにデータを取り込み、ShowReportメソッドを呼び出して印刷を行います。