ActiveReportsでは、カラム形式のレイアウトを生かして、さまざまなサイズのラベルを印刷できます。
このチュートリアルでは、ラベルをレーザプリンタラベルシートに印刷するレポートを作成し、LayoutActionプロパティを使用してラベルを繰り返す方法を紹介します。この例のラベルは1x2.3インチで、シート(8x11インチ)当たり30枚のラベルを印刷します。
このトピックでは、以下のタスクを行います。
チュートリアルを完了すると、次のレポートが作成されます。
VisualStudioプロジェクトにActiveReportを追加する
詳細については、「クイックスタート」を参照してください。
レポートをデータソースに接続する
SQLクエリ |
コードのコピー
|
---|---|
SELECT ContactName, CompanyName, Address, City, PostalCode, Country FROM Customers |
レポートのレイアウトを作成する
プロパティ名 | プロパティの値 |
---|---|
CanGrow | False |
ColumnCount | 3 |
ColumnDirection | AcrossDown |
ColumnSpacing | 0.2 |
Height | 1 |
KeepTogether | True |
TextBox1
プロパティ名 | プロパティの値 |
---|---|
DataField | ContactName |
Location | 0, 0 in |
Size | 2.5, 0.2 in |
Font Bold | True |
TextBox2
プロパティ名 | プロパティの値 |
---|---|
DataField | CompanyName |
Location | 0, 0.2 in |
Size | 2.5, 0.2 in |
TextBox3
プロパティ名 | プロパティの値 |
---|---|
DataField | Address |
Location | 0, 0.4 in |
Size | 2.5, 0.2 in |
TextBox4
プロパティ名 | プロパティの値 |
---|---|
DataField | City |
Location | 0, 0.6 in |
Size | 2.5, 0.2 in |
TextBox5
プロパティ名 | プロパティの値 |
---|---|
DataField | PostalCode |
Location | 0, 0.8 in |
Size | 1.45, 0.2 in |
TextBox6
プロパティ名 | プロパティの値 |
---|---|
DataField | Country |
Location | 1.5, 0.8 in |
Size | 1, 0.2 in |
レポートをこの時点でプレビューすると、ページ上に各ラベルが1回ずつ表示されます。
Detail_Formatイベントにラベルを繰り返すためにコードを追加する
Visual Basic
Visual Basicコード (Formatイベント内に貼り付けます) |
コードのコピー
|
---|---|
'各ラベルを3回印刷します。 Static counter As Integer counter = counter + 1 If counter <= 2 Then Me.LayoutAction = GrapeCity.ActiveReports.LayoutAction.MoveLayout Or GrapeCity.ActiveReports.LayoutAction.PrintSection Else Me.LayoutAction = GrapeCity.ActiveReports.LayoutAction.MoveLayout Or GrapeCity.ActiveReports.LayoutAction.NextRecord Or GrapeCity.ActiveReports.LayoutAction.PrintSection counter = 0 End If |
C#
C#コード (Formatイベントの上に貼り付けます) |
コードのコピー
|
---|---|
int counter=0; |
C#コード (Formatイベント内に貼り付けます) |
コードのコピー
|
---|---|
//各ラベルを3回印刷します。 counter = counter + 1; if (counter <= 2) { this.LayoutAction = GrapeCity.ActiveReports.LayoutAction.MoveLayout|GrapeCity.ActiveReports.LayoutAction.PrintSection; } else { this.LayoutAction = GrapeCity.ActiveReports.LayoutAction.MoveLayout|GrapeCity.ActiveReports.LayoutAction.NextRecord|GrapeCity.ActiveReports.LayoutAction.PrintSection; counter = 0; } |
レポートを表示する
または