■15840 / inTopicNo.1) |
DataGridViewのデータをレポートで表示・印刷 |
□投稿者/ PROTO (4回)-(2008/03/23(Sun) 22:24:41)
|
分類:[.NET 全般]
2008/03/23(Sun) 23:44:15 編集(投稿者)
環境:VS2005スタンダード、ReportViewer 言語:C++(or C++/CLI)、 VB.NET
DataGridViewのデータを印刷を行う為に、 ReportViewerを使ったサンプルが、 「DataGridView のデータをレポートに表示する方法」 http://www.microsoft.com/japan/msdn/vbasic/migration/tips/ReportViewer/ にあり、以下のサイトも 「Reportでテーブル形式表示」 http://www.vbstation.net/tips/reporttable.htm
参考にしながら試したのですが、
VBでは問題なく表示されるのに、C++で作ると下記の内容がreportViewerに表示されます。 ローカルレポートの処理中にエラーが発生しました。 レポート'Report1.rdc'レポート定義が指定されていません。
同じように作っている「つもり」なのですが、違いがあるのでしょうか? 下記にVBとC++のソースを載せておきますのを間違い等があればご指摘下さい。
VBソース [Form2.vb] Imports System.Data.OleDb Public Class Form2 Dim oleConnect As New OleDbConnection() Dim oleCommad As New OleDbCommand Dim oleDataAdapter As New OleDbDataAdapter Dim oDataSet As New DataSet()
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim text As String Try text = "Provider=Microsoft.Jet.OLEDB.4.0;" text += "Data Source=" + Application.StartupPath + ";" text += "Extended Properties=""Text;"""
oleConnect.ConnectionString = text 'コネクションの設定 oleCommad.Connection = oleConnect oleCommad.CommandText = "SELECT * FROM test.csv" 'データを取得する oleDataAdapter.SelectCommand = oleCommad DataSet1.DataTable1.Clear() DataSet1.Clear() 'データを取得する oleDataAdapter.Fill(DataSet1.DataTable1) Me.ReportViewer1.RefreshReport() Catch oExcept As Exception '例外が発生した時の処理 MessageBox.Show(oExcept.Message, "例外発生") End Try End Sub End Class
C++ソース [Form2.h] #include "TestDataSet.h"
using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Data::OleDb; using namespace System::Drawing; using namespace System::Diagnostics;
public: Form2(void) { InitializeComponent(); // //TODO: ここにコンストラクタ コードを追加します // oleConnect = gcnew OleDbConnection(); oleCommad = gcnew OleDbCommand(); oleDataAdapter = gcnew OleDbDataAdapter(); } private: OleDbConnection^ oleConnect; OleDbCommand^ oleCommad; OleDbDataAdapter^ oleDataAdapter; private: System::Void Form2_Load(System::Object^ sender, System::EventArgs^ e) { try{ String^ text = "Provider=Microsoft.Jet.OLEDB.4.0;"; text += "Data Source=" + Application::StartupPath + ";"; text += "Extended Properties=""Text;"""; oleConnect->ConnectionString = text;
//コネクションの設定 oleCommad->Connection = oleConnect; oleCommad->CommandText = "SELECT * FROM test.csv"; //データを取得する oleDataAdapter->SelectCommand = oleCommad; TestDataSet->DataTable1->Clear(); //データを取得する oleDataAdapter->Fill(TestDataSet->DataTable1); this->reportViewer1->RefreshReport(); }catch (Exception^ ex){ Debug::WriteLine(ex->Message); } }
|
|