Delphi Programming / Object Pascal
[掲載 2001年01月06日] [更新 2016年04月30日] DBGrid 印刷コンポーネント |
DBGrid 印刷コンポーネント
テストプログラム Customer |
動作確認等 |
Windows 7 U64(SP1) + Delphi XE(UP1) Pro |
Delphi 付属の DBDEMOS の Customer.db を DBGrid に表示して,それを印刷プレビューする例です.以下の手順でプロジェクトを作成しています.
データベース関連コントロール (コンポーネント) の設定は,通常の使用における設定と特に変りありません.本コンポーネントの DBGrid プロパティの設定があるだけです.
- 下図のようにコンポーネント類を配置
- Query1の DatabaseName プロパティを DBDEMOS にする
- DataSource の DataSet プロパティを Query1 とする
- Query1 の SQL プロパティを以下のコードにする
- DBGrid1 の DataSource プロパティを DataSource1 とする
- DBGrid1 のカラムを設定
- 本コンポーネントの DBGrid プロパティを DBGrid1 にする
- 本コンポの TopMargin 等の印刷マージン等を設定する
|
select CustNo,Company,Zip,Addr1,Phone from customer
|
図1
設計時画面
- 以下のコンポーネントを配置
Query1 (TQueyr)
DataSource1 (TDataSource)
DBGrid1 (TDBGrid)
plDBGridPrev1 (TplDBGridPrev)
Button1 (TButton)
|
|
図2
TDBGrid のカラムの設定 |
|
図3
実行して DBGrid を表示 |
|
図4
プレビュー画面
|
unit CustomerUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, plPrev, plDBGridPrev, DB, DBTables, Grids, DBGrids, StdCtrls, Buttons;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Query1: TQuery;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
plDBGridPrev1: TplDBGridPrev;
procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//=============================================================================
// フォームを表示する時の処理
// クエリーをオープン
//
// Query1のSQL文は以下の通り
// select CustNo,Company,Zip,Addr1,Phone from customer
//=============================================================================
procedure TForm1.FormShow(Sender: TObject);
begin
Query1.Open;
end;
//=============================================================================
// フォームを閉じる時の処理
// クエリーをクローズ
//=============================================================================
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.Close;
end;
//=============================================================================
// オブジェクト・インスペクタで設定した内容でプレビュー
//=============================================================================
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if plDBGridPrev1.plSetPrinter.ShowSetupDialog then begin
plDBGridPrev1.Preview;
end;
end;
end.
|