Goran Bibic Ответов: 1

Добавить штрих-код в последнюю ячейку C#


Я хочу добавить штрих-код в последний столбец моей сетки для каждой строки.

Я использую Itext sharp.

Когда я пытаюсь, он добавляет в каждую ячейку сетки. Мне нужно определить, как добавлять только в последнюю ячейку строки (или в ячейку [12])

Спасибо.

Что я уже пробовал:

//Adding DataRow
           foreach (DataGridViewRow row in OperacijeDataGridView.Rows)
           {
               foreach (DataGridViewCell cell in row.Cells)
               {
                   PdfPCell cell2 = new PdfPCell(new Phrase(cell.Value.ToString(), calibri));
                   cell2.HorizontalAlignment = Element.ALIGN_LEFT;
                   cell2.FixedHeight = 20f;

                   Barcode128 code128 = new Barcode128();
                   code128.CodeType = Barcode.CODE128_RAW;
                   code128.ChecksumText = true;
                   code128.GenerateChecksum = true;
                   code128.Code = Barcode128.GetRawText(row.Cells[12].Value.ToString(), false, Barcode128.Barcode128CodeSet.AUTO);
                   System.Drawing.Bitmap bm = new System.Drawing.Bitmap(code128.CreateDrawingImage(System.Drawing.Color.Black, System.Drawing.Color.White));
                   iTextSharp.text.Image barCode = iTextSharp.text.Image.GetInstance(bm, System.Drawing.Imaging.ImageFormat.Png);
                   //PdfPCell pdfCell = new PdfPCell();
                   //PdfPTable tmpTable = new PdfPTable(1);
                   //tmpTable.WidthPercentage = 100;
                   PdfPCell tmpCell = new PdfPCell(barCode);
                   //tmpTable.AddCell(new Paragraph(row.Cells[12].Value.ToString().ToUpper(), calibri));
                   barCode.ScaleAbsolute(60, 20); //100x40
                   tmpCell.FixedHeight = 30;//60
                   tmpCell.HorizontalAlignment = Element.ALIGN_CENTER;
                   tmpCell.VerticalAlignment = Element.ALIGN_MIDDLE;
                   tmpCell.BorderWidth = 0;
                   //tmpTable.AddCell(tmpCell);
                   // tmpTable.DefaultCell.BorderWidth = 0;
                   // tmpTable.DefaultCell.VerticalAlignment = Element.ALIGN_TOP;
                   // tmpTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
                   //tmpTable.AddCell(new Paragraph(row.Cells[4].Value.ToString().ToUpper(), calibri6));
                   //tmpTable.AddCell(new Paragraph(row.Cells[12].Value.ToString().ToUpper(), calibri));
                   // pdfCell.AddElement(tmpTable);
                   // tmpCell.AddElement(tmpTable);
                   pdfTable.AddCell(tmpCell);

                   pdfTable.AddCell(cell2);
               }
           }

Laxmidhar tatwa technologies

Последняя ячейка должна быть DataGridViewImageCell

iTextSharp.text.Штрих-код изображения = iTextSharp.text.Изображение.GetInstance(bm, System.Рисование.Изображений.ImageFormat.Png);
ячейка.Значение = штрих-код;

1 Ответов

Рейтинг:
0

OriginalGriff

Затем не добавляйте ячейку (или фактически две) каждый раз вокруг цикла столбцов ...