首页 > 解决方案 > 打印没有数据集的 DataGridView:Xsd

问题描述

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

使用此代码,当我单击我的 Button1 时,我The report has no tables.在这一行中得到了这个错误“”:rp.SetDataSource(DS.Tables(0))

我在这个主题中问过,但我没有找到最好的结果: 通过代码创建 DataColumns and Dataset witout database 这是我的全部代码:

 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

标签: vb.netcrystal-reports

解决方案


After you added a crysta report viewer to your app, you have to add a new form a crystal report and add there your datasource. After creating a report with your datasource. you add this new crystal reort to your rp object rp.Load("crystalrport path\yourcrystal.rpt") ad then add your datasource. Describbed here http://vb.net-informations.com/crystal-report/vb.net_crystal_report_step_by_step.htm

or as video https://www.youtube.com/watch?v=iN2yjEWs-So


推荐阅读