Ich habe eine Haupt-PdfpTable mit einer Spalte, die ich als übergeordnete Tabelle verwenden. Ich füge dann Tabellen, die mit einer dynamischen Anzahl von Spalten erstellt wurden, zur übergeordneten Tabelle hinzu.PdfpTable verschachtelt in PdfpTable Zelle hat Leerzeichen auf beiden Seiten
Also jede Tabelle ist eine Zeile in der übergeordneten Tabelle. Ich bekomme, was ich abgesehen von ein paar Dingen wünschte:
1) Die Tabellen sind mit signifikanten Leerraum auf der linken und rechten Seite hinzugefügt; Ich möchte, dass die Untertabellen den Zeilenbereich füllen.
2) Spaltenbreiten halten nicht. Die erste Spalte jeder neuen Tabelle ändert die Breite basierend auf der Anzahl der insgesamt vorhandenen Spalten.
3), um die Haupttischbreite betroffen scheint nicht von der .TotalWidth
EinstellungPdfPTable mainTable = new PdfPTable(1);
mainTable.TotalWidth = 1000f;
//Iterating through some data, get the count then create tables.
PdfPTable subTable = new PdfPTable(colCount);
//I tried setting the widths to fix issue 2
float[] colWidths = new float[colCount];
colWidths[0] = 50f;
for (int i = 1; i < colCount; i++)
{
colWidths[i] = 50f;
}
subTable.SetWidths(colWidths);
PdfPCell cell = new PdfPCell();
cell.AddElement("test");
subTable.AddCell(cell);
PdfPCell tblCell = new PdfPCell();
//tblCell.Padding = 0f;
//tblCell.PaddingLeft = 0f;
//tblCell.PaddingRight = 0f;
tblCell.AddElement(subTable);
mainTable.AddCell(tblCell);
habe ich versucht, für jede Spalte, die Breiten einstellen, entfernen Klotzen, und setzen die Gesamtbreiten sowohl für die Mutter und Untertabellen, aber mit gemischten Ergebnissen.
Ich habe keine Zeit für eine vollständige Antwort, aber ein Punkt der Verwirrung ist, dass 'SetWidths()' setzt die _relative_ Breite von Spalten.Also, wenn Sie "50, 100" passieren, werden Sie nicht 50 Einheiten und 100 Einheiten überschreiten, sondern sagen, dass die erste Spalte ein Drittel (50/(50 + 100)) und die zweite zwei Drittel (100/(50 + 100)) '. Stattdessen möchten Sie wahrscheinlich 'SetTotalWidth (float [])' zusammen mit 'LockedWidth' –