none
¿Porque no se ve mi crystal report? RRS feed

  • Pregunta

  • protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cn"].ToString());
        con.Open();
    
        SqlCommand cmd = new SqlCommand("SELECT * from tabla where cod_u='"+session+["cod_u"]"'", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
    
        DsRF ds = new DsRF(); // DsRF is dataset
        da.Fill(ds, "dt_RF"); // dt_RF is datatable in dataset
    
        // ds.Tables["dt_RF"].Rows.Count.ToString();
    
        ReportDocument oRep = new ReportDocument();
        oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
        oRep.SetDataSource(ds);
        crystalreportviewer1.ReportSource = oRep;
        crystalreportviewer1.RefreshReport();
    }

    martes, 27 de marzo de 2018 19:09

Respuestas

  • hola sunny

    trata ensayando con

    oRep.SetDataSource(ds.Tables(0));

    o en su defecto el nombre de la tabla que la tuya seria "dt_RF"

    hola, gracias por responder, tampoco me funciona agregándole eso

    hola sunny sun

    compara tu codigo con el que te expongo aca...

            protected void Page_Load(object sender, EventArgs e)
            {
                using (SqlConnection con = new SqlConnection(@"tuCadenaConexion"))
                {
                    con.Open();
    
                    SqlCommand cmd = new SqlCommand("SELECT * from tabla where cod_u='"+session+["cod_u"]"'", con);
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                    {
                        DataSet DsRF = new DataSet();
                        DataTable t = new DataTable();
                        t.TableName = "dt_RF";
    
                        da.Fill(DsRF, "dt_RF");
    
                        ReportDocument oRep = new ReportDocument();
    
                        oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
                        oRep.SetDataSource(DsRF.Tables[0]);
                        CrystalReportViewer1.ReportSource = oRep;
                        CrystalReportViewer1.RefreshReport();
                    }
        
                }
    otra linea que tienes que tener en cuenta es en la siguiente ya que el reporte si no se encuentra saca error
    oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
    miércoles, 28 de marzo de 2018 14:40

Todas las respuestas

  • hola sunny

    trata ensayando con

    oRep.SetDataSource(ds.Tables(0));

    o en su defecto el nombre de la tabla que la tuya seria "dt_RF"

    martes, 27 de marzo de 2018 20:13
  • hola sunny

    trata ensayando con

    oRep.SetDataSource(ds.Tables(0));

    o en su defecto el nombre de la tabla que la tuya seria "dt_RF"

    hola, gracias por responder, tampoco me funciona agregándole eso
    miércoles, 28 de marzo de 2018 3:44
  • hola sunny

    trata ensayando con

    oRep.SetDataSource(ds.Tables(0));

    o en su defecto el nombre de la tabla que la tuya seria "dt_RF"

    hola, gracias por responder, tampoco me funciona agregándole eso

    hola sunny sun

    compara tu codigo con el que te expongo aca...

            protected void Page_Load(object sender, EventArgs e)
            {
                using (SqlConnection con = new SqlConnection(@"tuCadenaConexion"))
                {
                    con.Open();
    
                    SqlCommand cmd = new SqlCommand("SELECT * from tabla where cod_u='"+session+["cod_u"]"'", con);
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                    {
                        DataSet DsRF = new DataSet();
                        DataTable t = new DataTable();
                        t.TableName = "dt_RF";
    
                        da.Fill(DsRF, "dt_RF");
    
                        ReportDocument oRep = new ReportDocument();
    
                        oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
                        oRep.SetDataSource(DsRF.Tables[0]);
                        CrystalReportViewer1.ReportSource = oRep;
                        CrystalReportViewer1.RefreshReport();
                    }
        
                }
    otra linea que tienes que tener en cuenta es en la siguiente ya que el reporte si no se encuentra saca error
    oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
    miércoles, 28 de marzo de 2018 14:40
  • hola sunny

    trata ensayando con

    oRep.SetDataSource(ds.Tables(0));

    o en su defecto el nombre de la tabla que la tuya seria "dt_RF"

    hola, gracias por responder, tampoco me funciona agregándole eso

    hola sunny sun

    compara tu codigo con el que te expongo aca...

            protected void Page_Load(object sender, EventArgs e)
            {
                using (SqlConnection con = new SqlConnection(@"tuCadenaConexion"))
                {
                    con.Open();
    
                    SqlCommand cmd = new SqlCommand("SELECT * from tabla where cod_u='"+session+["cod_u"]"'", con);
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                    {
                        DataSet DsRF = new DataSet();
                        DataTable t = new DataTable();
                        t.TableName = "dt_RF";
    
                        da.Fill(DsRF, "dt_RF");
    
                        ReportDocument oRep = new ReportDocument();
    
                        oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
                        oRep.SetDataSource(DsRF.Tables[0]);
                        CrystalReportViewer1.ReportSource = oRep;
                        CrystalReportViewer1.RefreshReport();
                    }
        
                }
    otra linea que tienes que tener en cuenta es en la siguiente ya que el reporte si no se encuentra saca error
    oRep.Load(Server.MapPath("~/Proyecto/mycrystal.rpt"));
    Hola muchas gracias, ya lo he modificado tal cual como lo puso usted pero no me muestra nada, no marca errores ni nada, simplemente no muestra el reporte :c
    miércoles, 28 de marzo de 2018 15:40
  • Hola muchas gracias, ya lo he modificado tal cual como lo puso usted pero no me muestra nada, no marca errores ni nada, simplemente no muestra el reporte :c

    Y como tienes la pagina del reporte? tienes definido el ReportViewer ?

        <form id="form1" runat="server">
        <div>
        
            <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" 
                AutoDataBind="true" />
        
        </div>
        </form>

    coloca un punto de interrupcion en oRep.SetDataSource(DsRF.Tables[0]); y mira el visualizador del DataSet que datos tiene ?

    con unos datos de prueba me funciona bien


    • Editado greg_dorian miércoles, 28 de marzo de 2018 16:16
    miércoles, 28 de marzo de 2018 16:15
  • Hola muchas gracias, ya lo he modificado tal cual como lo puso usted pero no me muestra nada, no marca errores ni nada, simplemente no muestra el reporte :c

    Y como tienes la pagina del reporte? tienes definido el ReportViewer ?

        <form id="form1" runat="server">
        <div>
        
            <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" 
                AutoDataBind="true" />
        
        </div>
        </form>

    coloca un punto de interrupcion en oRep.SetDataSource(DsRF.Tables[0]); y mira el visualizador del DataSet que datos tiene ?

    con unos datos de prueba me funciona bien


    Gracias, lo he copiado tal cual y no me muestra nada. El dataset lo cree agregando un nuevo elemento, ahi agregue la tabla dt_RF y las columnas que quiero que muestre, y ese dataset lo agregue al reporte crystal. Estoy usando VS 2017 con framework 4.5, supongo que mi problema va a ser otra cosa, y no el codigo... :/  


    miércoles, 28 de marzo de 2018 17:21