DatagridView y Crystal Reports 2008

Iniciado por el_cantante, 9 Marzo 2013, 00:07 AM

0 Miembros y 1 Visitante están viendo este tema.

el_cantante

Hola!  :D
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.


        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!!
El sistema del zapping mental en su apogeo, donde las horas pasan con la velocidad de la vida. No es el mismo domingo del principio, es un domingo anterior, otra temporada en el infierno, siete di­as atras.