Как экспортировать видимый столбец datagridview в pdf в c#.net приложение windows
Привет Фрдс,
У меня есть 10 столбцов в моем datagridview, но во время выполнения он покажет только 6 столбцов. Я хочу экспортировать эти 6 столбцов в PDF. как я могу это сделать?
заранее спасибо
Что я уже пробовал:
List<datagridviewcolumn> listVisible = new List<datagridviewcolumn>(); foreach (DataGridViewColumn col in dataGridView1.Columns) { if (col.Visible) listVisible.Add(col); } PdfPTable pdfTable = new PdfPTable(listVisible.Count); pdfTable.DefaultCell.Padding = 2; pdfTable.WidthPercentage = 100; pdfTable.HorizontalAlignment = Element.ALIGN_LEFT; pdfTable.DefaultCell.BorderWidth = 1; //Adding Header row for (int i = 0; i < listVisible.Count; i++) { PdfPCell cell = new PdfPCell(new Phrase(listVisible[i].HeaderText)); pdfTable.AddCell(cell); } //Adding DataRow for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < listVisible.Count; j++) { try { pdfTable.AddCell( dataGridView1.Rows[i].Cells[listVisible[j].Name].Value.ToString()); } catch { } } } SaveFileDialog svg = new SaveFileDialog(); svg.ShowDialog(); using (FileStream stream = new FileStream(svg.FileName + ".pdf", FileMode.Create)) { Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f); PdfWriter.GetInstance(pdfDoc, stream); pdfDoc.Open(); pdfDoc.Add(pdfTable); pdfDoc.Close(); stream.Close(); MessageBox.Show("PDF Created Successfully"); }
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Итак, цикл до 6, в чем проблема?
CodeReady
Для любого столбца 6 Напишите некоторую логику, чтобы пропустить 4 столбца, например: создайте перечисление из 4 столбцов и пропустите эти 4 из строки заголовка и строки данных.