Sql server Vb.net-选定行水晶报表
这是我第一次使用Crystal reports 我有一个数据网格,我用以下内容填充它:Sql server Vb.net-选定行水晶报表,sql-server,vb.net,datagridview,crystal-reports,Sql Server,Vb.net,Datagridview,Crystal Reports,这是我第一次使用Crystal reports 我有一个数据网格,我用以下内容填充它: Public Sub DisplayRecords() Try Dim da = New SqlDataAdapter("SELECT * from workshoptbl order by ID desc", strDatabaseCon) dsetAssets = New DataSet da.Fill(dsetAssets, "workshopt
Public Sub DisplayRecords()
Try
Dim da = New SqlDataAdapter("SELECT * from workshoptbl order by ID desc", strDatabaseCon)
dsetAssets = New DataSet
da.Fill(dsetAssets, "workshoptbl")
workshopdgvdata.DataSource = dsetAssets.Tables("workshoptbl").DefaultView
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
End Try
End Sub
然后我有一个报告按钮,可以创建一个报告。此报告包括我的工作区TBL中的所有行
Dim cryRpt As New ReportDocument
cryRpt.Load("\CrystalReport2.rpt")
WorkshopCRP.CrystalReportViewer1.ReportSource = cryRpt
WorkshopCRP.Refresh()
WorkshopCRP.Show()
我试图做的是,当我高亮显示一行并单击“报告/打印”时,只有高亮显示的行被发送到“报告查看器”页面
CrystalReport2的数据源在报告页面的Database expert中配置
如果有人能给我指出正确的方向,我将不胜感激
Matt您可以在CR文件中添加一个参数,将其与行的id关联,然后修改报告/打印代码,将所选行的id传递给报告,如下所示:
WorkshopCRP.CrystalReportViewer1.ReportSource = cryRpt
WorkshopCRP.SetParameterValue("LineNo", workshopdgvdata.SelectedRows(0).Cells(0).Value)
WorkshopCRP.Refresh()
在上面的示例中,参数名为“LineNo”,行的id(在数据库表中)位于行的第一个单元格(在datagridview中) 您好@deman38我添加了一个动态值的参数,对吗?@Matt静态值应该足够了。重要的部分是使用“选择专家”将参数字段与行的id相关联。