コード全文
Visual Basic
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sqlstr As String
sqlstr = "SELECT 製品一覧.メーカー, 製品一覧.製品名, " & _
"製品一覧.カラー FROM(製品一覧)" & _
" WHERE ((製品一覧.メーカー)='" & Me.ComboBox1.Text & "');"
Me.C1Report1.DataSource.RecordSource = sqlstr
'メーカーごとの説明文を作成-ここでは便宜上3つだけ作成
Dim exp(2) As String
exp(0) = "アメリカの老舗ギターブランド。エレキギターでは、" & _
"レスポール、SG、アコースティックギターではハミング" & _
"バード、ホロウ・ボディではES-335が代表的なギター。" & _
"レスポールは、レッドツエッペリンのジミーペイジ、B'sの" & _
"松本など数多くのプレーヤーに愛されてきました。"
exp(1) = "日本を代表するギターメーカー。布袋寅泰やX-Japanの" & _
"故Hide、L'Arc~en~Cielのkenなど、国内トップアー" & _
"ティストが使用しているブランド。入門者用からプロフェッ" & _
"ショナル用まで幅広いラインアップが揃っています。"
exp(2) = "ポールリードスミスは、Gibson、Fenderに次ぐ第3のギター" & _
"メーカーとして台頭してきました。" & _
"高級な材料をふんだんに使用し、" & _
"フレットにバードインレイをはめ込んだり、" & _
"10TOPと呼ばれる木目の板を使うなど、見た目も華麗に" & _
"作っていることが大きな特徴です。カルロス・サンタナが" & _
"使用したことで世界的に有名になりました。"
' レポートヘッダにフィールドを追加します。
Dim f As Field
With Me.C1Report1.Sections(SectionTypeEnum.Header)
'今あるヘッダーのFieldオブジェクトをコレクションから削除
.Fields.Remove(0)
'新しいタイトル用Fieldオブジェクトをメーカー名を付けて作成
f = .Fields.Add("title", "製品情報 - " & _
Me.ComboBox1.SelectedItem, 100, 100, 8000, 1500)
f.Font.Size = 24
f.Font.Bold = True
f.ForeColor = Color.Beige
'すでに説明用のFieldオブジェクトがあれば削除する
If .Fields.Count >= 2 Then
.Fields.Remove("exp")
End If
End With
'ComboBoxで選択されたメーカーごとに説明文を作成
'-ここでは便宜上3つだけ作成
Select Case Me.ComboBox1.SelectedIndex
Case 0
'ヘッダー「製品情報」の背景色とサイズを変更
With Me.C1Report1.Sections(SectionTypeEnum.Header)
.Height = 1000
.Visible = True
.BackColor = Color.BlueViolet
'説明文用のフィールドの追加
f = .Fields.Add("exp", exp(0), 100, 800, 8000, 1500)
f.Font.Size = 12
f.ForeColor = Color.Gold
End With
Case 1
With Me.C1Report1.Sections(SectionTypeEnum.Header)
.Height = 1500
.Visible = True
.BackColor = Color.PeachPuff
'説明文用のフィールドの追加
f = .Fields.Add("exp", exp(1), 100, 800, 8000, 1500)
f.Font.Size = 12
f.ForeColor = Color.Olive
'タイトル文字の色を入れ替える
.Fields("title").ForeColor = Color.Blue
End With
Case 2
With Me.C1Report1.Sections(SectionTypeEnum.Header)
.Height = 1500
.Visible = True
.BackColor = Color.Chocolate
'説明文用のフィールドの追加
f = .Fields.Add("exp", exp(2), 100, 800, 8000, 1500)
f.Font.Size = 12
f.ForeColor = Color.Moccasin
'タイトル文字の色を入れ替える
.Fields("title").ForeColor = Color.LimeGreen
End With
Case Else
With Me.C1Report1.Sections(SectionTypeEnum.Header)
.Height = 800
.BackColor = Color.DarkSeaGreen
'説明文用のフィールドの追加
f = .Fields.Add("exp", "作業中・・・", 100, 800, _
8000, 1500)
End With
End Select
Me.C1PrintPreviewControl1.Document = Me.C1Report1.Document
Me.C1PrintPreviewControl1.Invalidate()
End Sub
C#
private void button2_Click(object sender, EventArgs e)
{
String sqlstr;
sqlstr = "SELECT 製品一覧.メーカー, 製品一覧.製品名, " +
"製品一覧.カラー FROM(製品一覧)" +
" WHERE ((製品一覧.メーカー)='" + ComboBox1.Text + "');";
c1Report1.DataSource.RecordSource = sqlstr;
//メーカーごとの説明文を作成-ここでは便宜上3つだけ作成
String[] exp = new String[3];
exp[0] = "アメリカの老舗ギターブランド。エレキギターでは、" +
"レスポール、SG、アコースティックギターではハミング" +
"バード、ホロウ・ボディではES-335が代表的なギター。" +
"レスポールは、レッドツエッペリンのジミーペイジ、B//sの" +
"松本など数多くのプレーヤーに愛されてきました。";
exp[1] = "日本を代表するギターメーカー。布袋寅泰やX-Japanの" +
"故Hide、L//Arc~en~Cielのkenなど、国内トップアー" +
"ティストが使用しているブランド。入門者用からプロフェッ" +
"ショナル用まで幅広いラインアップが揃っています。";
exp[2] = "ポールリードスミスは、Gibson、Fenderに次ぐ第3のギター" +
"メーカーとして台頭してきました。高級な材料をふんだんに" +
"使用し、フレットにバードインレイをはめ込んだり、" +
"10TOPと呼ばれる木目の板を使うなど、見た目も華麗に" +
"作っていることが大きな特徴です。カルロス・サンタナが" +
"使用したことで世界的に有名になりました。";
// レポートヘッダにフィールドを追加します。
Field f ;
Section s;
s = c1Report1.Sections[SectionTypeEnum.Header];
//今あるヘッダーのFieldオブジェクトをコレクションから削除
s.Fields.Remove(0);
//新しいタイトル用Fieldオブジェクトをメーカー名を付けて作成
f = s.Fields.Add("title", "製品情報 - " +
ComboBox1.SelectedItem, 100, 100, 8000, 1500);
f.Font.Size = 24;
f.Font.Bold = true;
f.ForeColor = Color.Beige;
//すでに説明用のFieldオブジェクトがあれば削除する
if(s.Fields.Count >= 2){
s.Fields.Remove("exp");
}
//ComboBoxで選択されたメーカーごとに説明文を作成
//-ここでは便宜上3つだけ作成
switch(ComboBox1.SelectedIndex){
case 0:
//ヘッダー「製品情報」の背景色とサイズを変更
s.Height = 1000;
s.Visible = true;
s.BackColor = Color.BlueViolet;
//説明文用のフィールドの追加
f = s.Fields.Add("exp", exp[0], 100, 800, 8000, 1500);
f.Font.Size = 12;
f.ForeColor = Color.Gold;
break;
case 1:
s.Height = 1500;
s.Visible = true;
s.BackColor = Color.PeachPuff;
//説明文用のフィールドの追加
f = s.Fields.Add("exp", exp[1], 100, 800, 8000, 1500);
f.Font.Size = 12;
f.ForeColor = Color.Olive;
//タイトル文字の色を入れ替える
s.Fields["title"].ForeColor = Color.Blue;
break;
case 2:
s.Height = 1500;
s.Visible = true;
s.BackColor = Color.Chocolate;
//説明文用のフィールドの追加
f = s.Fields.Add("exp", exp[2], 100, 800, 8000, 1500);
f.Font.Size = 12;
f.ForeColor = Color.Moccasin;
//タイトル文字の色を入れ替える
s.Fields["title"].ForeColor = Color.LimeGreen;
break;
default:
s.Height = 800;
s.BackColor = Color.DarkSeaGreen;
//説明文用のフィールドの追加
f = s.Fields.Add("exp", "作業中・・・", 100, 800,
8000, 1500);
break;
}
c1PrintPreviewControl1.Document = c1Report1.Document;
c1PrintPreviewControl1.Invalidate();
}