フォームの初期化処理の作成
コードの先頭で、importsまたはusingを使い、C1.Win.C1Reportへの参照を設定します。そして、フォームのLoadイベントハンドラでComboBoxのTextプロパティを設定します。
Imports C1.Win.C1Report Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Me.ComboBox1.SelectedIndex = 0 End Sub
using C1.Win.C1Report; private void Form1_Load(object sender, EventArgs e) { ComboBox1.SelectedIndex = 0; }
C1Report1の設定
最初に、C1Reportコンポーネント「C1Report1」に、サンプルデータベースのテーブルからデータを取り出して表示する、単純な一覧表を作成する処理を組み込みます。
使用するデータベース
サンプルで使用するデータベースは、テーブルが1つの簡単なデータベースです。データを抽出するクエリは、C1Reportの設定で行いますので、データベースには作成していません。
テーブルは4つのフィールドからなり、それぞれ「ID」「メーカー」「製品名」「カラー」にデータが順不同で入力されています。
一覧表の作成
C1Report1コンポーネントを使って一覧表を作成するには、ウィザードを使う方法とデザイナを使用して作成する方法がありますが、最初はウィザードを使って作成してみましょう。
1.レポートの編集
C1Report1をクリックし、タスクメニューから「レポートの編集」を選びます。
「レポート新規作成ウィザード」が開きますので、「接続文字列」の[...]ボタンを押します。
すると、データベースへの接続を設定するおなじみの画面が出てきますので、[プロバイダ]から「Microsoft Jet4.0 OLE DB Provider」を選びます。データベース名に「guiter.mdb」を指定し[接続のテスト]で接続できることを確認します。
2.SQL構文の構築
ウィザードに戻り「SQL構文」にチェックが入っているのを確認し、ツールバーの[SQL構文の構築]ボタンを押します。
「SQLビルダ」が起動するので、テーブルを展開し、フィールドをダブルクリックして抽出するデータのあるフィールドを指定します。
3.レポートに表示するフィールドの指定する
ウィザードを進め、レポートに表示するフィールドを指定します。なお、一覧表はこのフィールドを並べた順番で作成されるので、列の指定順序に注意してください。
4.レイアウトの決定
[レイアウト]で「表形式」を選び、そのままOKボタンを押してウィザードを進め、最後にレポート名を「製品一覧レポート」に変更して[完了]ボタンを押します。
5.プレビュー
作成した一覧表のプレビューが表示されるので、内容を確認してウィンドウを閉じます。
6.イベントハンドラの設定
VSに戻り、ボタン「標準一覧表」のClickイベントハンドラに、作成した一覧表をC1PrintPreviewControlコンポーネントで表示する処理を作成します。
C1ReportコンポーネントのDocumentプロパティの値を、C1PrintPreviewControlのDocumentプロパティに代入し、C1PrintPreviewControlのInvalidate
メソッドを実行して表示を更新するようにすれば完成です。
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Me.C1PrintPreviewControl1.Document = Me.C1Report1.Document Me.C1PrintPreviewControl1.Invalidate() End Sub
private void Button1_Click(object sender, EventArgs e) { c1PrintPreviewControl1.Document = C1Report1.Document; c1PrintPreviewControl1.Invalidate(); }