QA@IT

データグリッドビューの内容をクリスタルレポートへ反映し、印刷したい

2022 PV

ラベル印刷プログラムを作成しております
VS2010Pro+クリスタルレポートバンドル版です

ラベル印刷を行う得意先情報をデータテーブルにして、それをデータグリッドビューに表示しています
得意先コードから郵便番号、住所1、住所2、得意先名、印刷枚数、敬称をデータグリッドビューに表示させています
印刷枚数は直接テキストボックスに入力、敬称についてはラジオボタンを1つ選択し表示させています

データグリッドビューにデータテーブルの内容を表示させる所まで出来ましたが、
その内容をクリスタルレポートに表示させ、印刷したく思っていますがそれが出来ません
ご教授下さい

フォーム4にクリスタルレポートを表示させています
データグリッドビューの構成は以下の通りです

   列 郵便番号  住所1  住所2 得意先名 印刷枚数 敬称区分
行    xxx-yyyy ○○   ◆◆  ㈱○○   12     御中
     aaa-qqqq ○△   ◆○  ○×㈱   10     様
     bbb-xxxx ○□   ◆□  ㈲○□   11     殿
     ccc-zzzz ○▽   ◆△  ㈱×○   5      殿

以下コードになります

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

    'コード確認
        If TextBox1.Text = Nothing Then
            MessageBox.Show("コード確認!", "☆エラー画面☆")
        End If

        'プログラムコード  
        Dim Cn As New OleDbConnection
        Dim Command As OleDbCommand = New OleDbCommand
        Dim OLEDBCon As OleDb.OleDbConnection = _
                New OleDb.OleDbConnection
        OLEDBCon.ConnectionString = _
         "Provider=Microsoft.Jet.OLEDB.4.0;" & _
         "Data Source=" & Form1.TextBox1.Text & ";" & _
         "Persist Security Info=False"
        Command.Connection = OLEDBCon
        'データテーブルに印刷枚数と敬称区分を保持する列を
        Command.CommandText = "select 郵便番号, 住所1, 住所2, 得意先名  , 0 as 印刷枚数 from 得意先T where 得意先コード = @得意先コード "
        Command.Parameters.AddWithValue("@得意先コード", TextBox1.Text)

     Dim Adapter As OleDbDataAdapter = New OleDbDataAdapter
        Adapter.SelectCommand = Command
         Adapter.Fill(dt)
        'レコード取得
        TextBox3.Text = CStr(dt.Rows(dt.Rows.Count - 1).Item(0))
        TextBox4.Text = CStr(dt.Rows(dt.Rows.Count - 1).Item(1))
        TextBox5.Text = CStr(dt.Rows(dt.Rows.Count - 1).Item(2))
        TextBox6.Text = CStr(dt.Rows(dt.Rows.Count - 1).Item(3))

        '印刷枚数
        Dim d As String = TextBox2.Text
        TextBox7.Text = d

        '敬称
        If RadioButton1.Checked = True Then
            TextBox8.Text = RadioButton1.Text
        ElseIf RadioButton2.Checked = True Then
            TextBox8.Text = RadioButton2.Text
        ElseIf RadioButton3.Checked = True Then
            TextBox8.Text = RadioButton3.Text
        ElseIf RadioButton4.Checked = True Then
            TextBox8.Text = RadioButton4.Text
        End If

        '取引先名
        Dim a As String
        a = TextBox6.Text

        '印刷枚数
        Dim Row As DataRow = dt.Rows(count)
        Row("印刷枚数") = TextBox2.Text
        count = count + 1

        'ラジオボタンの反映
        Dim b As DataColumn = dt.Columns.Item("敬称区分")

    If b Is Nothing Then
            dt.Columns.Add("敬称区分", GetType(String))
        End If

        If RadioButton1.Checked = True Then
            Row("敬称区分") = RadioButton1.Text
        ElseIf RadioButton2.Checked = True Then
            Row("敬称区分") = RadioButton2.Text
        ElseIf RadioButton3.Checked = True Then
            Row("敬称区分") = RadioButton3.Text
        ElseIf RadioButton4.Checked = True Then
            Row("敬称区分") = RadioButton4.Text
        End If

        'データテーブルの内容をデータグリッドで確認
        DataGridView1.DataSource = dt
      End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
’クリレポ立上げ
        Form4.Show()
        Form4.Activate()
    End Sub

宜しくお願い申し上げます

     

ウォッチ

この質問への回答やコメントをメールでお知らせします。