| GrapeCity ActiveReports for .NET 12.0J > ActiveReportsユーザーガイド > サンプルとチュートリアル > チュートリアル > セクションレポートのチュートリアル > パラメータ > サブレポートでパラメータの使用 |
サブレポートでパラメータを使用すると、サブレポートを親レポートに接続できます。親レポートをサブレポートに連結するフィールドのパラメータを設定することにより、親レポートはパラメータを通じて情報をサブレポートに渡すことができます。このチュートリアルでは、パラメータを使用して、レポートとサブレポートをリンクさせる方法について説明します。
このトピックでは、以下のタスクを行います。
チュートリアルを完了すると、次のようなレポートが作成されます。
![]() |
メモ: このチュートリアルはNWindデータベースを使用しています。NorthWindデータベース(Nwind.mdb)へのアクセス権限が必要です。 |
![]() |
注意: サブレポートは、ページヘッダ/フッタのセクションを描画しません。 |
Visual Studioプロジェクトに親レポートとサブレポートを追加する
詳細は、「プロジェクトにレポートを追加する」参照してください。
親レポートをデータソースに接続する
| SQLクエリ |
コードのコピー
|
|---|---|
| Select * from suppliers order by country | |
パラメータを使用して、サブレポートをデータソースに接続する
| SQLクエリ |
コードのコピー
|
|---|---|
| SELECT * FROM products INNER JOIN categories ON products.categoryid = categories.categoryid WHERE products.supplierID =<%SupplierID%> | |
親レポート(rptParent)のレイアウトを作成する
| プロパティ名 | プロパティの値 |
|---|---|
| Name | ghSuppliers |
| DataField | Country |
TextBox
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | Country |
| Name | txtCountry |
| Text | Country |
| Location | 0, 0 |
| Font | MS ゴシック, 13pt, style=Bold |
TextBox1
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | CompanyName |
| Name | txtCompanyName |
| Text | Company Name |
| Location | 0.0625, 0.0625 |
| Size | 2.25, 0.2 in |
| Style | background-color: Silver; font-weight: bold |
TextBox2
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | ContactName |
| Name | txtContactName |
| Text | Contact Name |
| Location | 2.312, 0.0625 |
| Size | 2.25, 0.2 in |
| Style | background-color: Silver; font-weight: bold |
TextBox3
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | Phone |
| Name | txtPhone |
| Text | Phone |
| Location | 4.562, 0.0625 |
| Size | 1.542, 0.2 in |
| Style | background-color: Silver; font-weight: bold |
SubReport
| プロパティ名 | プロパティの値 |
|---|---|
| Name | Subreport1 |
| ReportName | ProductName |
| Location | 0.0625, 0.312 |
サブレポート(rptChild)のレイアウトを作成する
| プロパティ名 | プロパティの値 |
|---|---|
| Name | ghProducts |
| DataField | CategoryName |
TextBox
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | CategoryName |
| Name | txtCategoryName |
| Text | Category Name |
| Location | 0.0625, 0.0625 |
| Size | 2.042, 0.2 in |
| Style | color: Maroon; font-weight: bold |
TextBox
| プロパティ名 | プロパティの値 |
|---|---|
| DataField | ProductName |
| Name | txtProductName |
| Text | Product Name |
| Location | 0.0625, 0.0625 |
| Size | 1.99, 0.2 in |
| Style | color: Red |
サブレポートを現在のレコードのsupplierIDに連結するために必要なコードを追加する
Visual Basic
| Visual Basicコード (Formatイベント内に貼り付けます) |
コードのコピー
|
|---|---|
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format
Dim rpt As New rptChild()
Me.Subreport1.Report = rpt
End Sub
|
|
C#
| C#コード (Formatイベント内に貼り付けます) |
コードのコピー
|
|---|---|
private void Detail_Format(object sender, System.EventArgs eArgs)
{
rptChild rpt = new rptChild();
this.Subreport1.Report = rpt;
}
|
|
サブレポートのShowParametersUIプロパティをFalseに設定するコードを追加する
Visual Basic
| Visual Basicコード (ReportStartイベント内に貼り付けます) |
コードのコピー
|
|---|---|
Private Sub rptChild_ReportStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.ReportStart
Me.ShowParameterUI = False
End Sub
|
|
C#
| C#コード (ReportStartイベント内に貼り付けます) |
コードのコピー
|
|---|---|
private void rptChild_ReportStart(object sender, System.EventArgs eArgs)
{
this.ShowParameterUI = false;
}
|
|
レポートを表示する