ReportViewer for ASP.NET Web Forms
グループの使用
C1PrintDocument の使い方 > データ連結 > データ連結のサンプル > グループの使用

次のコードは、典型的なグループ化の使用方法を示します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' グループごとに繰り返されるレンダリング領域が作成されます。
Dim ra As C1.C1Preview.RenderArea = New C1.C1Preview.RenderArea
ra.Style.Borders.All = New C1.C1Preview.LineDef("2mm", Color.Blue)
 
' オブジェクトの MyData 配列がデータソースとして使用されます:
ra.DataBinding.DataSource = MyData.Generate(100, 0)
 
'GroupId フィールドでデータがグループ化されます:
ra.DataBinding.Grouping.Expressions.Add("Fields!GroupId.Value")
 
' グループヘッダーとして機能する RenderText を作成します。通常、このヘッダーは複雑になり、ヘッダー自体がデータ連結になります。
Dim rt As C1.C1Preview.RenderText = New C1.C1Preview.RenderText
 
' グループヘッダーは、「GroupId = XXX」のようになります。XXX は、グループの GroupId フィールドの値です:
rt.Text = "GroupId: [Fields!GroupId.Value]"
rt.Style.BackColor = Color.Yellow
 
'ヘッダーをグループ領域に追加します:
ra.Children.Add(rt)
 
' この RenderText は、各グループ内のレコードを出力します:
rt = New C1.C1Preview.RenderText
 
' レコードごとに出力するテキスト:
rt.Text = "GroupId: [Fields!GroupId.Value]" & Microsoft.VisualBasic.Chr(13) & "IntValue: [Fields!IntValue.Value]"
rt.Style.Borders.Bottom = C1.C1Preview.LineDef.Default
rt.Style.BackColor = Color.FromArgb(200, 210, 220)
 
' テキストのデータソースを外側の RenderArea のデータソースに設定します。これは、レンダリングオブジェクトが指定されたオブジェクト内の現在のグループに連結されていることを示します:
rt.DataBinding.DataSource = ra.DataBinding.DataSource
 
' テキストを領域に追加します:
ra.Children.Add(rt)

C# コードの書き方

C#
コードのコピー
//グループごとに繰り返されるレンダリング領域が作成されます。
RenderArea ra = new RenderArea();
ra.Style.Borders.All = new LineDef("2mm", Color.Blue);
 
// オブジェクトの MyData 配列がデータソースとして使用されます:
ra.DataBinding.DataSource = MyData.Generate(100, 0);
 
// GroupId フィールドでデータがグループ化されます:
ra.DataBinding.Grouping.Expressions.Add("Fields!GroupId.Value");
 
//グループヘッダーとして機能する RenderText を作成します。通常、このヘッダーは複雑になり、ヘッダー自体がデータ連結になります。
RenderText rt = new RenderText();
 
// グループヘッダーは、「GroupId = XXX」のようになります。XXX は、グループの GroupId フィールドの値です:
rt.Text = "GroupId: [Fields!GroupId.Value]";
rt.Style.BackColor = Color.Yellow;
 
// ヘッダーをグループ領域に追加します:
ra.Children.Add(rt);
 
// この RenderText は、各グループ内のレコードを出力します:
rt = new RenderText();
 
// レコードごとに出力するテキスト:
rt.Text = "GroupId: [Fields!GroupId.Value]\rIntValue: [Fields!IntValue.Value]";
rt.Style.Borders.Bottom = LineDef.Default;
rt.Style.BackColor = Color.FromArgb(200, 210, 220);
 
//テキストのデータソースを外側の RenderArea のデータソースに設定します。これは、レンダリングオブジェクトが指定されたオブジェクト内の現在のグループに連結されていることを示します:
rt.DataBinding.DataSource = ra.DataBinding.DataSource;
 
// テキストを領域に追加します:
ra.Children.Add(rt);