我正在尝试制作试算平衡报告。我想要下面的格式如下所示。我可以制作这样的表格
我试过了,
table.DefaultCell.Border = Rectangle.RIGHT_BORDER | Rectangle.RIGHT_BORDER;
但是代码只给出了垂直行。我可以像上面那样制作表格吗?
答案 0 :(得分:0)
您似乎无法理解bitwise |
operator的含义,因为这没有意义:
table.DefaultCell.Border = Rectangle.RIGHT_BORDER | Rectangle.RIGHT_BORDER;
上面一行相当于:
table.DefaultCell.Border = Rectangle.RIGHT_BORDER;
另外:如果使用table.DefaultCell.Border
,则不应期望不同的单元格具有不同的边框。您要求iTextSharp以这样的方式绘制所有隐式创建的单元格,使它们只有右边框。当iTextSharp遵守该命令时,为什么会感到惊讶?
您需要明确创建每个PdfPCell
并为每个PdfPCell left_cell = new PdfPCell();
left_cell.Border = Rectangle.RIGHT_BORDER | Rectangle.TOP_BORDER | Rectangle.BOTTOM_BORDER;
// add stuff to left_cell
table.AddCell(left_cell);
PdfPCell middle_cell = new PdfPCell();
middle_cell.Border = Rectangle.TOP_BORDER | Rectangle.BOTTOM_BORDER;
// add stuff to middle_cell
table.AddCell(middle_cell);
PdfPCell right_cell = new PdfPCell();
right_cell.Border = Rectangle.LEFT_BORDER | Rectangle.TOP_BORDER | Rectangle.BOTTOM_BORDER;
// add stuff to right_cell
table.AddCell(right_cell);
定义一个边框:
DefaultCell
在您的代码中,您可以在每次AddCell()
调用之前向getCell()
应用不同的边框,但这并没有多大意义。最好创建一个自定义PdfPCell
方法,以您希望的方式创建{{1}}个实例。