Ir ao conteúdo
  • Cadastre-se

Rikelme G. Carneiro

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

  1. Essa foi a solução para mim: (Imagem anexada.) Estava tentando roda o foreach em um objeto de tipo class e tentando converter para Linha do DataGrid. Então ao invés de converter para DataGridRow, mudei isso para a Class e dentro dele adicionava os atributos.DataGridViewExport.pdf Aqui esta o exemplo depois de "pronto".
  2. Boa noite pessoal do Clube. Estou tendo problemas para construir um codigo que busquei na internet referente à criação de relatorio utilizando C#. So encontrei para Windows Forms e VS.Net. Este é o link: https://www.aspsnippets.com/Articles/Export-Windows-Forms-DataGridView-to-PDF-using-iTextSharp-C-and-VBNet.aspx Como não achei nada para WPF, que é por onde eu estou construindo, resolvi pega esse mesmo codigo e converter para o WPF. O codigo original para Windows Forms seria: private void btnExportPdf_Click(object sender, EventArgs e) { //Creating iTextSharp Table from the DataTable data PdfPTable pdfTable = new PdfPTable(dataGridView1.ColumnCount); pdfTable.DefaultCell.Padding = 3; pdfTable.WidthPercentage = 30; pdfTable.HorizontalAlignment = Element.ALIGN_LEFT; pdfTable.DefaultCell.BorderWidth = 1; //Adding Header row foreach (DataGridViewColumn column in dataGridView1.Columns) { PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText)); cell.BackgroundColor = new iTextSharp.text.Color(240, 240, 240); pdfTable.AddCell(cell); } //Adding DataRow foreach (DataGridViewRow row in dataGridView1.Rows) { foreach (DataGridViewCell cell in row.Cells) { pdfTable.AddCell(cell.Value.ToString()); } } //Exporting to PDF string folderPath = "C:\\PDFs\\"; if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } using (FileStream stream = new FileStream(folderPath + "DataGridViewExport.pdf", FileMode.Create)) { Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f); PdfWriter.GetInstance(pdfDoc, stream); pdfDoc.Open(); pdfDoc.Add(pdfTable); pdfDoc.Close(); stream.Close(); } } O Codigo que eu consegui chega ate o momento foi: private void Button_Click(object sender, RoutedEventArgs e) { //Creating iTextSharp Table from the DataTable data PdfPTable pdfTable = new PdfPTable(dgMarca.Items.Count); pdfTable.DefaultCell.Padding = 3; pdfTable.WidthPercentage = 30; pdfTable.HorizontalAlignment = Element.ALIGN_LEFT; pdfTable.DefaultCell.BorderWidth = 1; //Adding Header row foreach (DataGridColumn column in dgMarca.Columns) { PdfPCell cell = new PdfPCell(new Phrase(column.Header.ToString())); cell.BackgroundColor = new iTextSharp.text.BaseColor(240, 240, 240); pdfTable.AddCell(cell); } //Adding DataRow foreach (DataGridRow row in dgMarca.Items.SourceCollection) { foreach /*(DataGridCell cell in row as Object)*/(PropertyInfo cell in row.GetType().GetProperties()) { pdfTable.AddCell(cell.ToString()); } } //Exporting to PDF string folderPath = "C:\\PDFs\\"; if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } using (FileStream stream = new FileStream(folderPath + "DataGridViewExport.pdf", FileMode.Create)) { Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f); PdfWriter.GetInstance(pdfDoc, stream); pdfDoc.Open(); pdfDoc.Add(pdfTable); pdfDoc.Close(); stream.Close(); } } E então, seguei no seguinte erro que me travou de vez que esta em anexo. Por favor, pessoa ajuda de vocês para que eu consiga termina este projeto para finalizar o semestre. Obrigado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!