iTextSharp - 剪切 table 的最后一行

iTextSharp - cut last row of table

我已经用 while 循环生成了 table,但是最后一行 iTextSharp 被切掉了....有没有人知道如何修复它....请参阅下面的代码。

mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("č.m.", spec_font)))
        mesure_tale.AddCell(New PdfPCell(New Phrase("Hodnota (mm)", spec_font)))

        Dim mesure_array As Double() = dgv_do_array(cislo_merania)
        Dim average_value As Double = create_average(cislo_merania)

        Dim k As Integer = 0
        While k < cislo_merania
            mesure_tale.AddCell(New PdfPCell(New Phrase(k + 1, spec_font)))
            Dim mesure_cell As New PdfPCell(New Phrase(mesure_array(k).ToString, spec_font))

            If mesure_array(k) > (average_value + (average_value * percentualna_odchylka)) Then
                mesure_cell.BackgroundColor = New BaseColor(255, 120, 120) 'Red
                mesure_tale.AddCell(mesure_cell)
            ElseIf mesure_array(k) < (average_value - (average_value * percentualna_odchylka)) Then
                mesure_cell.BackgroundColor = New BaseColor(120, 170, 255) 'Blue
                mesure_tale.AddCell(mesure_cell)
            Else
                mesure_cell.BackgroundColor = New BaseColor(175, 255, 120) ' Green
                mesure_tale.AddCell(mesure_cell)
            End If
            k += 1
        End While

        pdfDoc.Add(mesure_tale)

我认为 dgv_do_array(cislo_merania) 返回的是数组的最高边界,而不是数组的实际长度。

改变

While k < cislo_merania

While k <= cislo_merania