[英]Some rows not rendered in Single column iText table
我正在嘗試創建2個嵌套表,一個帶有標題,另一個帶有值(其中一些為空白),如下所示:
但是它呈現如下,第4行的值出現在第3行:
建議以某種方式跳過第3行。 我究竟做錯了什么?
下面是代碼:
private PdfPTable getOrderHeaderTable() {
PdfPTable table = new PdfPTable(new float[]{25f, 25f, 20f, 20f});
table.addCell(getCaptionCell());
table.addCell(getBillingAddressCaptionCell());
table.addCell(getShippingAddressCaptionCell());
addBillingAddress(table);
addShippingAddress(table);
// These are the nested tables I'm referring to:
addOrderInfoCaptions(table);
addOrderInfo(table);
return table;
}
private void addOrderInfoCaptions(PdfPTable table) {
PdfPCell cell = new PdfPCell(getOrderInfoCaptionTable());
cell.setBorder(0);
table.addCell(cell);
}
private void addOrderInfo(PdfPTable table) {
PdfPCell cell = new PdfPCell(getOrderInfoTable());
cell.setBorder(0);
table.addCell(cell);
}
private PdfPTable getOrderInfoCaptionTable() {
PdfPTable table = new PdfPTable(1);
table.addCell(getTextCell(bold, BaseColor.WHITE, 0, 0, "Order Date:"));
table.addCell(getTextCell(bold, BaseColor.WHITE, 0, 0, "Order Number:"));
table.addCell(getTextCell(bold, BaseColor.WHITE, 0, 0, "Reservation Number:"));
table.addCell(getTextCell(bold, BaseColor.WHITE, 0, 0, "PO Number:"));
table.addCell(getTextCell(bold, BaseColor.WHITE, 0, 0, "Gift Registry:"));
return table;
}
private PdfPTable getOrderInfoTable() {
PdfPTable table = new PdfPTable(1);
table.addCell(getTextCell(regular, BaseColor.WHITE, 0, 0, getOrderDateString()));
table.addCell(getTextCell(regular, BaseColor.WHITE, 0, 0, order.getCommerceHubId()));
table.addCell(getTextCell(regular, BaseColor.WHITE, 0, 0, order.getReservationNumber()));
table.addCell(getTextCell(regular, BaseColor.WHITE, 0, 0, order.getPartnerPurchaseOrderNumber()));
table.addCell(getTextCell(regular, BaseColor.WHITE, 0, 0, getGiftRegistryID()));
return table;
}
private String getOrderDateString() {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
return sdf.format(order.getOrderDate());
}
protected PdfPCell getTextCell(Font font, BaseColor color, int border, int horizontalAlignment, String value) {
PdfPCell cell = new PdfPCell(new Phrase(value, font));
cell.setHorizontalAlignment(horizontalAlignment);
cell.setBorder(border);
cell.setBackgroundColor(color);
return cell;
}
如果有人可以幫助我,我將不勝感激。 這是一個重要的發布。
似乎問題在於空白值。 換一種說法,
new PdfPCell(new Phrase(""))
不起作用。
但是,如果我插入任何字符,例如空格:
new PdfPCell(new Phrase(" "))
問題消失了。
我不知道為什么會這樣。 我猜一個空短語=空單元格=不占用空間? 無論如何,它都有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.