none
como hacer si mi columna es true(1) se marque mi radiobutton en pdf iTextsharp? RRS feed

  • Pregunta

  • Buenos dias:

    Quiero apartir del folio que encuentre me crea mi pdf, entonces hay una columna(tipo bit en mi tabla en sql)que es estatus, quiero que ok si la encuentra true se habilite un radiobutton, Nota aqui creo un radiobutton pero en realidad no se como seria que aparezca habilitado o deshabilitado, espero me entiendan mis dudas y me puedan ayudar,...

    • asi tengo cuando creo mi pdf
    public void GenerarPDF(string FOLIO)
        {
            try
            {
                Document pdfReportt = new Document(PageSize.LETTER, 25, 25, 40, 25);
                PdfWriter writer;
                if (!Directory.Exists(@"c:\pruebas"))
                    Directory.CreateDirectory(@"c:\pruebas");
                SqlConnection con = new SqlConnection(myconsql);
                con.Open();
               
                SqlDataAdapter daInter = new SqlDataAdapter("Select * FROM alumnos WHERE folio='" + FOLIO + "'  ", con);
                DataTable dtInter = new DataTable();
                daInter.Fill(dtInter);

                if (dtInter.Rows.Count > 0)
                {
                    writer = PdfWriter.GetInstance(pdfReportt, new FileStream("C:\\pruebas\\" + FOLIO + ".pdf", FileMode.Create, FileAccess.Write, FileShare.None));

                    //Se Abre para editarlo
                    pdfReportt.Open();
                    //DIBUJANDO LINEAS
                    PdfContentByte linea = writer.DirectContent;

                    linea.SetLineWidth(1.80);
                    linea.MoveTo(50, 642);
                    linea.LineTo(500, 642);
                    linea.Stroke();

                    String[] sex = { "estatus" };
                    //open the document for writing
                   
                    //Get direct content
                    PdfContentByte canvas = writer.DirectContent;
                    //create a Font object
                    Font font = new Font(Font.FontFamily.HELVETICA, 18);
                    //create RadioButton group object
                    PdfFormField radiogroup = PdfFormField.CreateRadioButton(writer, true);
                    radiogroup.FieldName = "gsex";
                    //variables
                    Rectangle rect;
                    RadioCheckField radio;
                   
                    for (int i = 0; i < dtInter.Rows.Count; i++)
                    {
                        rect = new Rectangle(40, 806 - i * 40, 80, 780 - i * 40);
                        //create RadioCheckField object
                        radio = new RadioCheckField(writer, rect, "sex" + i, sex[i]);
                        //set properties
                        radio.BorderColor = GrayColor.GRAYBLACK;
                        radio.BackgroundColor = GrayColor.GRAYWHITE;
                        radio.CheckType = RadioCheckField.TYPE_CIRCLE;
                        radiogroup.AddKid(radio.RadioField);
                        //show labels
                        ColumnText.ShowTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(sex[i], font), 80, 780 - i * 40, 0);

                    }
                    
                    //Creamos los tipos de Letras y estilos
                    PdfContentByte cb = writer.DirectContent;
                    BaseFont bfItalic = BaseFont.CreateFont(BaseFont.HELVETICA_OBLIQUE, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                    BaseFont bfItalic2 = BaseFont.CreateFont(BaseFont.HELVETICA_BOLDOBLIQUE, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                    BaseFont bfBold = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                    BaseFont bfNormal = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                    cb.BeginText();
                  
                    cb.SetColorFill(iTextSharp.text.BaseColor.BLACK);//COlor Letra
                 
                    cb.SetFontAndSize(bfBold, 16);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Reporte alumnos", 290, 750, 0);
                    cb.SetFontAndSize(bfBold, 12);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "No.", 450, 735, 0);

                    cb.SetFontAndSize(bfNormal, 12);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, FOLIO, 470, 735, 0);// un lado u otro,posicion de arriba o abajo 
                    cb.SetFontAndSize(bfBold, 10);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "nombres:", 50,700, 0);
                    cb.SetFontAndSize(bfNormal, 10);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, dtInter.Rows[0]["nombre"].ToString().ToUpper(), 104, 700, 0);
                    cb.SetFontAndSize(bfBold, 10);
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "materia:", 50, 685, 0);
                   
                   
                    cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, dtInter.Rows[0]["estatus"].ToString().ToUpper(), 70, 620, 0);
                  
                    cb.EndText();
                    pdfReportt.Close();//Cierra el PDF    

                }

            }
            catch (System.Exception err)
            {
                // pdfReport.Close();//Cualquier error cierro el PDF
                Response.Write("error");
            }
        }

    sábado, 12 de noviembre de 2016 18:29

Todas las respuestas