मैं 2 नेस्टेड टेबल बनाने का प्रयास कर रहा हूं, एक कैप्शन के साथ, और दूसरा मूल्यों के साथ (उनमें से कुछ खाली), जैसे:
लेकिन यह निम्नानुसार प्रस्तुत करता है, पंक्ति 3 में पंक्ति 4 के मान के साथ:
पंक्ति 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;
}
अगर कोई मेरी मदद कर सकता है, तो मैं इसकी बहुत सराहना करूंगा; यह एक महत्वपूर्ण रिलीज को रोक रहा है।
1 उत्तर
ऐसा लगता है कि समस्या यह थी कि रिक्त मान। दूसरे शब्दों में,
new PdfPCell(new Phrase(""))
काम नहीं करता।
लेकिन अगर मैं कोई चरित्र सम्मिलित करता हूं, जैसे कि कोई स्थान:
new PdfPCell(new Phrase(" "))
समस्या गायब हो जाती है।
मुझे नहीं पता ऐसा क्यों होता है। मुझे लगता है कि एक खाली वाक्यांश = खाली सेल = कोई स्थान नहीं लेता है? किसी भी मामले में, यह काम करता है।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।