none
¿Como pasar informe (RDLC) a ReportViewer via codigo?

    问题

  • Buenos días,

     

    Como puedo pasar un report.rdlc al reportviewer mediante codigo y no con el asistente de "Elegir informe"?

     

    Saludos

    2011年7月17日 15:17

全部回复

  • pasar edlc mediante codigo ?

    apuntas a que tienes el control ReportViewer y quieres asignarle mediante codigo que rdlc debe mostrar?

    [Reporting Service] Campo Imagen desde un DataSet Tipado

    veras en el articulo como se asigna la propiedad

    reportViewer1.LocalReport.ReportPath = Path.Combine(Application.StartupPath, "ListadoProductos.rdlc")

    para indciar que reporte debe mostrar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    2011年7月17日 16:25
  • Leandro,

     

    Lo que deseo hacer es reutilizar un reportviewer con varios reportes.rdlc

     

    Todos los reportes tiene datos provenientes de un BD.

     

    Saludos

    2011年7月17日 17:12
  • ok eso se puede hacer, como muestro en el link

    puede asignar que dataset asignar con el rdlc que le pases por codigo


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    2011年7月17日 17:15
  • ok, pero no entiendo en que parte asigno el dataset y su respectiva tabla?

     

    Imagino que debe ser aqui

     

        Dim dataSourceEmpresa As New ReportDataSource("Productos_Empresa", LogoEmpresa())
        reportViewer1.LocalReport.DataSources.Add(dataSourceEmpresa)
    
        Dim dataSourceProductos As New ReportDataSource("Productos_Productos", ObtenerLista())
        reportViewer1.LocalReport.DataSources.Add(dataSourceProductos)
    
        reportViewer1.LocalReport.ReportPath = Path.Combine(Application.StartupPath, "ListadoProductos.rdlc")
    
        reportViewer1.RefreshReport()
    

    Pero LogoEmpresa y ObtenerLista son datos independientes cierto? yo quiero por ejemplo tener RepotVieview y desde este ocupar Reporte1.rdlc, Reporte2.rdlc, Reporte3.redlc.

     

    Saludos

    2011年7月17日 19:09
  • justamente alli mismo esta

    en

    reportViewer1.LocalReport.DataSources.Add()

    alli le pasas la informacion, veras que lso metodos LogoEmpresa y ObtenerLista devuelvesn los datos para asignar al reporte

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    2011年7月17日 19:52
  • De que manera paso la consulta aquí reportViewer1.LocalReport.DataSources.Add()??

     

    Esa parte no entiendo, suponiendo que mi el dataset es: Data, Tabla: Usuario, TableAdapets: FillByCodigo

     

    Saludos

    2011年7月18日 2:34
  • lo cargas el datatable que esta en el dataset tipado

    Dim tableAdapter As New EjemploTableAdapter

    tableAdapte.FillByCodigo( DataSet1.EjemploDataTable, codigo)

     

    reportViewer1.LocalReport.DataSources.Add("nombresource", DataSet1.EjemploDataTable)

     

    ojo esto es solo un ejemplo que debes adaptar, pero como veras del table adapter cargas normalmente el datatable tipado que usaste para definir el reporte y luego se lo pasas


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    2011年7月18日 3:38
  • Estaba pensando en algo mas o menos asi,

    Me.ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("NombreDataSet_TABLA1", NombreDataSet.TABLA1))
    

     

    Pero me da error.

     

    El siguiente:

     

     

    Error	3	Error de resolución de sobrecarga porque ninguna de las funciones 'New' a las que se tiene acceso es más específica para estos argumentos:
     'Public Sub New(name As String, dataSourceValue As System.Collections.IEnumerable)': No es la más específica.
     'Public Sub New(name As String, dataSourceValue As System.Data.DataTable)': No es la más específica.	C:\Users\pc\Desktop\SistemaSistema\ReportView.vb	37	54	Sistema
    

     

     


    ¿Que podria ser?

     

     Saludos

     




    2011年7月18日 4:35