none
Enviar una Qr del controlador a report viewer(RDLC) RRS feed

  • Pregunta

  • tengo este metodo la cual me devuelve un codigo qr en forma de matriz

    var Encoder = new QrEncoder(ErrorCorrectionLevel.H);
    var Code = Encoder.Encode("http://rarg.net");

    el problema es que no se como mandarlo al report viewer

    public ActionResult ImprimeDoc()
            {
                var Encoder = new QrEncoder(ErrorCorrectionLevel.H);
                var Code = Encoder.Encode("http://rarg.net");
                int Numero = 779865;
    
                LocalReport lr = new LocalReport();
    
                string path = Path.Combine(Server.MapPath("~/Reportes"), "Report.rdlc");
                lr.ReportPath = path;
    
                ReportDataSource rd = new ReportDataSource("datasetReporte", consulta(Numero, Code).Tables[0]);
    
                lr.DataSources.Add(rd);
                string reportType = "pdf";
                string mineType;
                string encoding;
                string fileNameExtension;
    
                string deviceInfo =
                    "" +
                    "pdf" +
                    "8.5in" +
                    "11in" +
                    "0.5in" +
                    "0.5in" +
                    "0.5in" +
                    "0.5in" +
                    "";
    
                Warning[] warnings;
                string[] streams;
                byte[] renderedBytes;
    
                renderedBytes = lr.Render(
                    reportType,
                    deviceInfo,
                    out mineType,
                    out encoding,
                    out fileNameExtension,
                    out streams,
                    out warnings);
    
    
                return File(renderedBytes, mineType);
    
            }

    public DataSet consulta(int Numero, QrCode Code)
            {
                string sql = @"
    select
        c.Nombre,
        c.Direccion,
        @qr as Qr
    from Documento d
        inner join DetalleDocumento dd on d.IdDocumento = dd.IdDocumento
    where d.gestion = @gestion";
    
                string connstr = ConfigurationManager.ConnectionStrings["DB_Perfil"].ConnectionString;
                SqlConnection conn = new SqlConnection(connstr);
                SqlCommand cmd = new SqlCommand(sql, conn);
    
                cmd.Parameters.AddWithValue("@gestion", 2018);
                cmd.Parameters.AddWithValue("@qr", Code);
    
    
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                conn.Open();
    
                DataSet ds = new DataSet();
                da.Fill(ds, "PerfilDataSet");
                conn.Close();
                return ds;
            }

    todo funciona bien, solo me falta el codigo Qr



    lunes, 8 de enero de 2018 20:56

Todas las respuestas