繁体   English   中英

Vb.net-选定的行Crystal报表

[英]Vb.net - Selected Row Crystal reports

这是我第一次使用Crystal报表。

我有一个Datagrid,我用这个填充:

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

然后,我有一个报告按钮,用于创建报告。 该报告包括来自Workshoptbl的所有行。

Dim cryRpt As New ReportDocument
    cryRpt.Load("\CrystalReport2.rpt")
    WorkshopCRP.CrystalReportViewer1.ReportSource = cryRpt
    WorkshopCRP.Refresh()
    WorkshopCRP.Show()

我想做的是当我突出显示一行并单击“报告/打印”时,只有突出显示的行才会发送到报告查看器页面。

在报表页面上的数据库专家中配置了我的CrystalReport2数据源。

如果有人能指出我正确的方向,我将不胜感激。

马特

您可以在CR文件中添加参数,将其与行的ID关联,然后修改报告/打印代码,以将所选行的ID传递给报告,如下所示:

WorkshopCRP.CrystalReportViewer1.ReportSource = cryRpt
WorkshopCRP.SetParameterValue("LineNo", workshopdgvdata.SelectedRows(0).Cells(0).Value)
WorkshopCRP.Refresh()

在上面的示例中,参数名为“ LineNo”,并且行的ID(在数据库表中)在行的第一个单元格中(在datagridview中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM