none
CRYSTAL REPORTS FILTRADO CON TEXTBOX RRS feed

  • Pregunta

  • HOLA COMUNIDAD ALGUIEN PUEDE AYUDARME CON ESTE PROBLEMA:

    ESTOY TRABAJANDO CON ASP.NET C#(VS 2012) , REALIZO LOS REPORTES CON CRYSTAL REPORTS.

    TENGO UN TEXTBOX (txtBuscar) Y UN BOTON (btnDescargar). HE LLENADO MI REPORTE DE CRYSTAL REPORTS UTILIZANDO DATASET A PARTIR DE UNA VISTA CREADA EN SQL (YA QUE UTILIZO JOINS PARA LA CONSULTA DE VARIAS TABLAS).

    RESUMIENDO

    ¿COMO PUEDO HACER PARA QUE SOLO ME SAQUE UN REPORTE DE UN SOLO REGISTRO DE LA VISTA AGREGADA A MI DATASET FILTRANDOLO POR MEDIO DE MI TEXTBOX ?

    sábado, 24 de octubre de 2015 23:10

Respuestas

  • Hola

    Yo lo hago de esta manera.

    string identificador="";
    string conn = ConfigurationManager.ConnectionStrings["conexionstring"].ToString();
    
                SqlConnection con = new SqlConnection(conn);
                DataTable dt = new DataTable();
                try
                {
                    con.Open();
                    string strSQL = "";
                    strSQL += " SELECT campos";
                    strSQL += " FROM   tabla 1 join tabla 2 on tabla1.campo=tabla2.campo ";
    // aqui podrias hacer tu condicion de tu txt
                    strSQL += " WHERE tabla1.id=" + identificador;
                    SqlCommand cmd = new SqlCommand(strSQL, con);
                    SqlDataAdapter adp = new SqlDataAdapter(cmd);
                    adp.Fill(dt);
                }
                catch (Exception ex)
                {
                }
                ReportClass rptH = new ReportClass();
                rptH.FileName = Server.MapPath("Reporte.rpt");
                rptH.Load();
                rptH.SetDataSource(dt);
                rptH.SetDatabaseLogon("usuariodb", "password", "servidor", "base de datos");
    
                Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                return File(stream, "application/pdf");

    Espero te sea util.

    Saludos

    • Marcado como respuesta Molten Golem domingo, 25 de octubre de 2015 19:13
    domingo, 25 de octubre de 2015 2:05

Todas las respuestas

  • Hola

    Yo lo hago de esta manera.

    string identificador="";
    string conn = ConfigurationManager.ConnectionStrings["conexionstring"].ToString();
    
                SqlConnection con = new SqlConnection(conn);
                DataTable dt = new DataTable();
                try
                {
                    con.Open();
                    string strSQL = "";
                    strSQL += " SELECT campos";
                    strSQL += " FROM   tabla 1 join tabla 2 on tabla1.campo=tabla2.campo ";
    // aqui podrias hacer tu condicion de tu txt
                    strSQL += " WHERE tabla1.id=" + identificador;
                    SqlCommand cmd = new SqlCommand(strSQL, con);
                    SqlDataAdapter adp = new SqlDataAdapter(cmd);
                    adp.Fill(dt);
                }
                catch (Exception ex)
                {
                }
                ReportClass rptH = new ReportClass();
                rptH.FileName = Server.MapPath("Reporte.rpt");
                rptH.Load();
                rptH.SetDataSource(dt);
                rptH.SetDatabaseLogon("usuariodb", "password", "servidor", "base de datos");
    
                Stream stream = rptH.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                return File(stream, "application/pdf");

    Espero te sea util.

    Saludos

    • Marcado como respuesta Molten Golem domingo, 25 de octubre de 2015 19:13
    domingo, 25 de octubre de 2015 2:05
  • Gracias Norberto Agustin me sirvio de mucho tu codigo =D
    domingo, 25 de octubre de 2015 19:14