打印不带数据集的DataGridView:Xsd

时间:2019-04-26 10:36:13

标签: vb.net crystal-reports

使用此代码,我想在查询后打印它在显示3列的DataGridView1上显示的内容。我不想使用Dataset Xsd及其DataTable。我在项目中添加了Crystalreport1的空白页面。

使用此代码,当我单击Button1时,恰好在以下行中出现此错误“ The report has no tables.”:rp.SetDataSource(DS.Tables(0))

我问了这个问题,但没有找到最好的结果: Create DataColumns and Dataset witout database by code 这就是我的全部代码:

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim FACTORY As New DataTable
    FACTORY.TableName = "FACTORY"
    Dim col1 As New DataColumn("FirstName", GetType(String))
    Dim col2 As New DataColumn("LastName", GetType(String))
    Dim col3 As New DataColumn("Phone", GetType(String))
    FACTORY.Columns.Add(col1)
    FACTORY.Columns.Add(col2)
    FACTORY.Columns.Add(col3)
    Dim DS As New DataSet
    DS.Tables.Add(FACTORY)

    For Each dr As DataGridViewRow In DataGridView1.Rows
        DS.Tables(0).Rows.Add(dr.Cells(0).Value, dr.Cells(1).Value, dr.Cells(2).Value)
    Next

    'Dim rp1 As New CrystalReport1
    'rp1.SetDataSource(DS.Tables(0))
    'rp.SetDataSource(DataGridView1.DataSource)
    'Form1.CrystalReportViewer1.ReportSource = rp
    'Form1.ShowDialog()


    Dim Rp As New ReportDocument
    Rp.Load("E:\SABRINE\CrystalReport1.rpt")
    Form1.CrystalReportViewer1.ReportSource = Rp
    Form1.CrystalReportViewer1.Refresh()
    Form1.ShowDialog()

End Sub

1 个答案:

答案 0 :(得分:0)

在将crysta报表查看器添加到您的应用程序后,您必须添加一个新的水晶报表格式,然后在其中添加数据源。 用数据源创建报告后。您可以将此新的晶体重新添加到rp对象rp.Load(“ crystalrport path \ yourcrystal.rpt”) 广告,然后添加您的数据源。 在http://vb.net-informations.com/crystal-report/vb.net_crystal_report_step_by_step.htm

中描述

或作为视频 https://www.youtube.com/watch?v=iN2yjEWs-So