如何使用vb.net在crystal报表中显示datagridview中的所有当前行

时间:2013-06-16 16:41:10

标签: vb.net datagridview crystal-reports

我的datagridview和crystal report

存在小问题

我使用此代码显示我的水晶报告,但我的问题是我只能从数据网格视图中显示一行

我想在crystal report

中打印datagridview中的所有行

我的代码

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim SqlQuery As String = "SELECT * FROM BMS_APP WHERE SN = " & BMS_APP.DataGridView1.SelectedRows(0).Cells(0).Value.ToString() & ""
    Dim SqlCommand As New OleDbCommand
    Dim SqlAdepter As New OleDbDataAdapter
    Dim TABLE As New DataTable

    With SqlCommand
        .CommandText = SqlQuery
        .Connection = BMS_APP.cnn
    End With
    With SqlAdepter
        .SelectCommand = SqlCommand
        .Fill(TABLE)
    End With
    Dim crystal As New CrystalReport1
    crystal.SetDataSource(TABLE)
    CrystalReportViewer1.ReportSource = crystal
    CrystalReportViewer1.Refresh()
End Sub

这是我的申请流程

我点击了加载按钮,它将所有数据从数据库加载到datagridview

之后当我点击特定行时,它在水晶报表中只显示一行,但我想显示datagriwview中的所有当前行

这里发生了什么

首先我在datagridview中点击了ON行

它在水晶报告中显示一行,但我想打印所有行当前行

请帮助我该怎么做才能打印所有当前行谢谢

1 个答案:

答案 0 :(得分:0)

如果您想打印DGV中的所有记录..

更改crystal.SetDataSource(TABLE)

crystal.SetDataSource(DataGridView1.Datasource)