準備
1. SQL Server サンプルデータベースを準備します。データベースは Pubs を使用します。
2. プロジェクトにデータセット (DataSet1.xsd) を追加します。テーブルは authors を使用します。
3. プロジェクトにレポート (Report1.rdlc) を追加します。 - ツールボックスからテーブルを追加し、テーブルにフィールドを追加します。
デザイン
1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) に ReportViewer (reportViewer1) を配置します。
サンプルコード (C#)
// 名前空間の追加 using System.Data.SqlClient; using System.Drawing.Printing; using Microsoft.Reporting.WinForms; // コード private void button1_Click(object sender, EventArgs e) { // データベース接続、authors テーブルからデータセットを作成 string sConn = @"Persist Security Info=False;Integrated Security=SSPI;database=Pubs;server=.\sqlexpress"; SqlConnection sqlConn = new SqlConnection(sConn); SqlCommand sqlCmd = new SqlCommand(); sqlConn.Open(); sqlCmd.Connection = sqlConn; sqlCmd.CommandText = "SELECT * FROM authors"; SqlDataAdapter Adp = new SqlDataAdapter(); DataSet ds = new DataSet("DataSet1"); Adp.SelectCommand = sqlCmd; Adp.Fill(ds, "authors"); // ReportViewer の初期設定 reportViewer1.Reset(); reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = Environment.CurrentDirectory + @"\Report1.rdlc"; // ReportViewer 用データセットの作成 ReportDataSource RepDS = new ReportDataSource(); RepDS.Name = "DataSet1"; RepDS.Value = ds.Tables[0]; // ReportViewer にデータを表示 reportViewer1.LocalReport.DataSources.Add(RepDS); reportViewer1.RefreshReport(); }
解説
データベースから通常通りデータセットを作成し、このデータセットをレポート用のデータセットに設定することにより、レポートにデータを表示できます。 尚、C++/CLI はデータセットが作成できず、同様のコードを記述することができないため、作成していません。
結果
動作確認環境
Visual Studio 2015 Professional (C# 6.0)