Mekalamani Ответов: 0

Как экспортировать видимый столбец 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 из строки заголовка и строки данных.

0 Ответов