vb.net - 打印没有数据集的 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
解决方案
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