itextsharp中的动态行数
本文关键字:动态 itextsharp | 更新日期: 2023-09-27 18:28:04
我想使用itextsharp生成一个pdf,根据我从存储过程中返回的记录数量动态生成行数。
例如,如果我的存储过程中有3条记录,我希望itextsharp生成如下:
(第1栏)(第2栏)(3栏)
第1排面包1$93215321
第2排牛奶1.5$1234678
第3排香肠5$54678912
对于下一个pdf,如果存储过程包含5条记录,它将显示3列5行。
使用itextsharp可以做到这一点吗?请有人帮帮我:)!
谢谢!
是的,这是可能的。我甚至为此写了一整本书
您可能想要使用PdfPTable
类。这门课在第4章中有解释。例如,请参阅HeaderFooter1示例,其中我循环访问包含许多电影标题和这些电影放映的数据库。结果是一个PDF,其中的表的行数与某一天对应的记录的行数相同:header_footer_1.PDF
我看到您正在使用iTextSharp,所以您可能想看看示例的C#端口。
创建PdfPTable
非常容易。您只需创建该类的一个实例,然后向其中添加PdfPCell
实例
// a table with three columns
PdfPTable table = new PdfPTable(3);
// the cell object
PdfPCell cell;
// we add a cell with colspan 3
cell = new PdfPCell(new Phrase("Cell with colspan 3"));
cell.Colspan = 3;
table.AddCell(cell);
// now we add a cell with rowspan 2
cell = new PdfPCell(new Phrase("Cell with rowspan 2"));
cell.Rowspan = 2;
table.AddCell(cell);
// we add the four remaining cells with addCell()
table.AddCell("row 1; cell 1");
table.AddCell("row 1; cell 2");
table.AddCell("row 2; cell 1");
table.AddCell("row 2; cell 2");
在您的情况下,创建一个具有3列的PdfPTable
就足够了,就像在简短的代码片段中所做的那样,然后在存储过程的结果集中的所有记录上创建一个循环。将每个字段的内容放入PdfPCell
中,并将该单元格添加到PdfPTable
中。循环完成后,将PdfPTable
添加到Document
实例中。
警告:有些人可能会认为你的问题是"家庭作业"问题。你的问题并不能说明你尝试了什么。通常,人们希望你在发布问题之前做一些努力。不要射杀信使。我只是提醒你,如果你的问题被否决或结束,你不会感到惊讶。