elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:29  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Paginar un pdf y alinear las columnas de un datagridview
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Paginar un pdf y alinear las columnas de un datagridview  (Leído 908 veces)
joalbela

Desconectado Desconectado

Mensajes: 30



Ver Perfil
Paginar un pdf y alinear las columnas de un datagridview
« en: 16 Marzo 2011, 22:38 »

Hola amigos necesito una yuda urgente, estoy generando un datagridview y l oestoy exportando a pdf me gustaria poder alinear las columnas como quiero y poder colocarle el numero de la hoja a cada una si algo aca dejo el codigo . mucahs gracias.



Código
 OdbcDataAdapter dta  =new OdbcDataAdapter (" SELECT a.cdgo_prdcto COD,a.nmbre_prdcto DESCRIPCION, SUM(b.cntdad)PMVTA,a.csto_rpscion CR, " +
                                                  " a.clfccion_prmnnte P, a.clfccion_tmpral T,a.cdgo_brra EAN" +
                                                  " from prdcto a , prmdio_vnta b " +
                                                  " where estdo = 'A' " +
                                                  " and a.cdgo_prdcto = b.cdgo_prdcto " +
                                                  " group by 1,2,4,5,6,7 " +
                                                   " order by 2 ", conn);
 
 
 
           DataSet dsdatos = new DataSet();
           dta.Fill(dsdatos, "Datos");
 
           this.dataGridView1.DataMember = "Datos";
           //this.dataGridView1.Columns(1).Width = 4400;
           this.dataGridView1.DataSource = dsdatos;
 
 
 
       }
 
       private void Form1_Load(object sender, EventArgs e)
       {
 
       }
 
       //private void dataGridView1_DefaultCellStyleChanged(object sender, EventArgs e)
 
       private void btnExportar_Click(object sender, EventArgs e)
       {
 
 
           DateTime hora = DateTime.Now;
           string fcha_ttal = Convert.ToDateTime(hora).Day + "/" + Convert.ToDateTime(hora).Month + "/" + Convert.ToDateTime(hora).Year;
 
 
           Document doc = new Document(PageSize.LETTER, 10, 10, 10, 10);
           string filename = "C:\\Temp\\Listado Total.pdf";
           iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Mis documentos\Biblia_productos\Biblia_productos\Images\marion.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
           Chunk encab = new Chunk(" LISTA DE PRODUCTOS CODIFICADOS EN " + fcha_ttal + "", FontFactory.GetFont("COURIER", 12));
 
 
           try
           {
               FileStream file = new FileStream
              (filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
               PdfWriter.GetInstance(doc, file);
               doc.Open();
 
 
               doc.Add(new Paragraph(encab));
               doc.Add(jpg);
               GenerarDocumento(doc);
 
               Process.Start(filename);
               doc.Close();
           }
 
           catch (Exception ex)
           {
               MessageBox.Show(ex.Message);
           }
 
       }
 
       //Función que genera el documento Pdf
       public void GenerarDocumento(Document document)
       {
 
 
 
           PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
           datatable.DefaultCell.Padding = 1;
           float[] headerwidths = GetTamañoColumnas(dataGridView1);
 
 
           datatable.SetWidths(headerwidths);
           datatable.WidthPercentage = 100;
           datatable.DefaultCell.BorderWidth = 4; // Define el grosor del encabezado
 
           //datatable.DefaultCell.VerticalAlignment = Element.ALIGN_CENTER; // Alinea el encabezado al centro
           //datatable.DefaultCell.Column =
           datatable.DefaultCell.Padding = 3;     //Amplia el tamaño del encabezado
 
 
 
          iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.COURIER, 9);
 
          Phrase objP = new Phrase("A", fuente);
 
           for (int i = 0; i < dataGridView1.ColumnCount; i++)
           {
 
               objP = new Phrase(dataGridView1.Columns[i].HeaderText, fuente);
 
               //this.dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter;
               datatable.AddCell(objP);
 
 
           }
           datatable.HeaderRows = 1;
           datatable.DefaultCell.BorderWidth = 1;
 
 
           for (int i = 0; i < dataGridView1.RowCount - 1; i++)
           {
               for (int j = 0; j < dataGridView1.ColumnCount; j++)
               {
 
                   objP = new Phrase(dataGridView1[j, i].Value.ToString(), fuente);
                   datatable.AddCell(objP);
                }
               datatable.CompleteRow();
               }
 
           document.Add(datatable);
 
       }
       public float[] GetTamañoColumnas(DataGridView dg)
       {
           float[] values = new float[dg.ColumnCount];
           for (int i = 0; i < dg.ColumnCount; i++)
           {
               values[i] = (float)dg.Columns[i].Width;
           }
           return values;
       }


En línea

Jorge MB
.::IT::.

Desconectado Desconectado

Mensajes: 115



Ver Perfil
Re: Paginar un pdf y alinear las columnas de un datagridview
« Respuesta #1 en: 17 Marzo 2011, 01:24 »

joalbela pues la manera mas facil de hacer lo que dices es usando un reporteador como http://www.fyireporting.com/  que soporta exportacion a pdf lo e probado en estas semanas y la verdad esta muy bueno.


En línea

Simplemente .::IT::.
Novlucker
Ninja y
Ex-Staff
*
Desconectado Desconectado

Mensajes: 10.239


Yo que tu lo pienso dos veces


Ver Perfil
Re: Paginar un pdf y alinear las columnas de un datagridview
« Respuesta #2 en: 17 Marzo 2011, 04:16 »

Lo bueno sería que dejes de abrir un nuevo tema por cada opción de estilo que le quieres poner a tus pdf :¬¬

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
http://twitter.com/novlucker

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
paginar en php
Desarrollo Web
4e,65,6f 6 949 Último mensaje 19 Enero 2004, 22:51
por 4e,65,6f
paginar un script
Desarrollo Web
CKlos100 5 594 Último mensaje 14 Marzo 2004, 19:06
por 4e,65,6f
ayuda paginar resultados
PHP
over crash 5 858 Último mensaje 28 Diciembre 2006, 03:38
por DownRate
problemas con indices de columnas del DataGridView VB.NET2005
.NET
Anteros 0 1,024 Último mensaje 27 Agosto 2008, 17:31
por Anteros
problemas con resultado de paginar
PHP
DJmixmancar 5 1,128 Último mensaje 23 Octubre 2008, 22:52
por alone-in-the-chat
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines