4

私は、もともと ASP.NET 1.1 w/ iText.NET で作成され、.NET 2.0 および iTextSharp 4.1.6.0 に変換された古い ASP.NET プロジェクトを持っています。多くのテーブルを使用します (作成時には pdfptable はオプションではなかったと思います)。このコードを変換して最新の iTextSharp 5.0.0 dll を使用しようとすると、テーブルとセルが削除されていることがわかります。とにかく変換​​を開始しましたが、すぐに Table が提供する多くの機能に相当するものがないことに気付きました。主に AddCell で列、行の設定ができなくなりました。このコードには文字通り何千もの呼び出しがあり、行ごとに線形に生成するように変更する可能性は、現時点では絶望的です。現在のコードは次のようになります。

Dim myTable As New Table(NumReq + 2, IngDS.Tables(0).Rows.Count + 3)
        myTable.SetWidths(Width)
        myTable.Width = 100 
        myTable.Padding = 2 

myCell = New Cell(New Phrase("Some Text", New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)))
                    myCell.SetHorizontalAlignment(Element.ALIGN_RIGHT)
                    myCell.GrayFill = 0.75 
                    myTable.AddCell(myCell, Row, Col)

myCell = New Cell(New Phrase("Other Text",New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK)))
                    myCell.GrayFill = 0.75 
                    myTable.AddCell(myCell, Row, Col+1)

その道に着手する前に、誰かが私が完全に見逃している方向に私を向けることができることを望んでいました。これにより、この変換がはるかに簡単になります。

何か案は?

ありがとう。

4

1 に答える 1

0

AddCell メソッドで行と列を指定する必要はなくなりました。AddCell メソッドを呼び出すと、追加する内容が次のセルに追加されます。したがって、2 つの行と 2 つの列を持つテーブルがある場合、AddCell を呼び出すと、最初にそれが行 1 列 1 に追加されます。2 回目に呼び出されると、行 1 列 2 に追加されます。行 2 列 1 など。

AddCell("") を呼び出してスキップする場合は、セルに何も入力せずにスキップします。

于 2011-07-20T20:48:07.917 に答える