C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataGridViewのデータをレポートで表示・印刷


(過去ログ 32 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■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);
      }
    }

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -