none
Modificar DataTable en un Crystal Report en orden de ejecucion

    Pregunta

  • Hola,

    Tengo ya creado un crystal report en el que para cada informe/pagina me salen las caracteristicas que yo he elegido sobre un solo producto, cada pagina es un producto. Ahora he creado tambien un subreport en el cual me sale una lista de catalogos a los que pertenece ese producto. Es decir imaginaros una tabla en la que tengo por ejemplo el producto con id 225 que pertenece a 4 catalogos diferentes:

    id_prodcuto   id_catalogo
        225                01
        225                06
        225                08
        225                09
        227                02
        227                08
        343                03

        etc...

    Con una consulta del tipo "select id_catalogo from catalogos where id_prodcuto='225'" tengo los catalogos del 225 y los cargo a un datatable que sera el que cargue en mi subreport. Asi en el report principal me saldrá las caracteristicas del procuto 225 y los catalogos a los que pertenece.

    Pero claro, de esta forma se me carga el mismo datatable de esa consulta en todos los informes de todos los productos. Y mi pregunta es: ¿Como podria hacer que para cada informe/pagina correspondiente a cada producto, se cargara el datatable con su propia consulta SQL y asi tener cada uno su lista de catalogos a los que pertenece?

     

    Perdonad por el tocho y espero haberme explicado bien. Gracias por adelanto.

     

    Saludos

    lunes, 21 de febrero de 2011 22:52

Todas las respuestas

  •  Este codigo podria servirte, colocalo en un boton o algun evento.

            Dim report As Cajachica = New Cajachica  'Cajachica es el nombre del reporte

            ' Fill data in DataSet here. Skip this step if your report is calling
            ' a stored procedure direct
            Dim SQL As String = "SELECT * FROM tabla"

            Dim ds As DataSet = New DataSet
            Using da As New SqlClient.SqlDataAdapter(SQL, cadena_conexion)

                '        Using ds As New DataSet
                da.Fill(ds, "View_Cajachica_princi")  'nombre de la vista o tabla asociada al reporte
            End Using
            ' End Using

     

            '
            report.SetDataSource(ds)

      
            CrystalReportViewer1.ReportSource = report

    viernes, 17 de febrero de 2012 23:12