Private Sub Button21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button21.Click
Dim i As New Integer
Dim myparams As New ParameterFields
Dim myparam As New ParameterField
Dim rpt2 As New CrystalReport2()
i = 0
myparam.ParameterFieldName = "ids"
For i = 0 To Me.DataGridView1.SelectedRows.Count - 1
Dim myDiscreteValue As New ParameterDiscreteValue()
myDiscreteValue.Value = System.Convert.ToInt32(Me.DataGridView1.SelectedRows(i).Cells(0).Value)
myparam.CurrentValues.Add(myDiscreteValue)
myparams.Add(myparam)
Next i
rpt2.SetDataSource(DataSet31)
printmulti.CrystalReportViewer1.ReportSource = rpt2
printmulti.CrystalReportViewer1.ParameterFieldInfo = myparams
printmulti.CrystalReportViewer1.Refresh()
printmulti.Show()
End Sub
add this to the record selection formula {Table_1.id} = {?ids} and select (left ctrl + lmousebutton) multiple rows, press the code button (button31_click) and you can print multiple records.