Quisiera saber si alguien por favor podría darme una mano, estoy intentando desarrollar un programa con VB.NET 2008 y Crystal Reports 2008. Este programa muestra un DataGridView con una lista de personas y algunos datos mas en otras dos columnas, lo que necesito es saber como recorrer el DataGridView y asignar como parámetro el valor que encuentra en la columna CardName y que lo haga una vez por cada renglón exportando 1 report en PDF por cada persona.
Actualmente tengo el DataGridView completo con los datos y el código que pasa el parámetro a Crystal Reports para general el report y exportarlo en PDF, el problema es que es estático y depende del valor que escribo en el valor del parámetro... falta el ciclo que recorre la tabla y asigna automáticamente cada parámetro para que proceda con la exportación del PDF.
Código:
cnString = "Database=TEST;Data Source=172.XX.XX.XX;User Id=user;Password=password"
sqlQRY = "SELECT OCRD.CardCode, OCRD.CardName, OCRD.E_Mail FROM OCRD WHERE (OCRD.CardCode = 'SS300') OR (OCRD.CardCode = 'SS301')"
conn = New SqlConnection(cnString)
conn.Open()
da = New SqlDataAdapter(sqlQRY, conn)
Dim cb As SqlCommandBuilder = New SqlCommandBuilder(da)
da.Fill(ds, "ItemCode")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "ItemCode"
If DataGridView1.RowCount = 2 Then
DataGridView1.Columns(0).Width = 60
DataGridView1.Columns(0).HeaderText = "CardCode"
DataGridView1.Columns(1).Width = 295
DataGridView1.Columns(1).HeaderText = "Nombre"
DataGridView1.Columns(2).Width = 295
DataGridView1.Columns(2).HeaderText = "Email"
End If
Dim mySelectFormula As String = ""
cryRpt.Load("C:\Users\yo\Desktop\Report1.rpt")
cryRpt.SetDatabaseLogon("user", "password")
cryRpt.SetParameterValue(0, "Nombre Apellido")
myCrystalReportViewer.Refresh()
Try
Dim CrExportOptions As ExportOptions
Dim CrDiskFileDestinationOptions As New DiskFileDestinationOptions()
Dim CrFormatTypeOptions As New PdfRtfWordFormatOptions()
CrDiskFileDestinationOptions.DiskFileName = "C:\Users\yo\Desktop\Nombre Apellido.pdf"
CrExportOptions = cryRpt.ExportOptions
With CrExportOptions
.ExportDestinationType = ExportDestinationType.DiskFile
.ExportFormatType = ExportFormatType.PortableDocFormat
.DestinationOptions = CrDiskFileDestinationOptions
.FormatOptions = CrFormatTypeOptions
End With
cryRpt.Export()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End
Muchisimas gracias!!
Saludos!!