2016-04-25 8 views
0

Ich baue eine Tabelle in MigraDoc. Ich habe einen Weg gefunden, einen Table in einen Table.Row.Cell mit Hilfe eines zu setzen. Leider wächst die Row.Cell nicht beim Hinzufügen neuer Einträge in die TextFrame. An einem bestimmten Punkt überlappt sich der innere Tisch in die darunter liegenden Reihen.MigraDoc: Wie erweitere ich die Zeilenhöhe beim Hinzufügen von Text?

Hier ist mein Code:

this.Table = this.MigraDokument.AddSection().addTable(); 
Row row = this.Table.AddRow(); 
TextFrame Frame = row.Cells[0].AddTextFrame(); 

Table k_table = Frame.AddTable(); 
// adding rows with 
// Row row2 = k_table.AddRow(); 

Wie kann ich das Row.Cell sage mit jedem Eintrag zu wachsen, die ich in die innere Tabelle setzen?

Bearbeiten: Mein Problem war nicht, dass ich eine verschachtelte Tabelle nicht hinzufügen konnte, wie in [MigraDoc - imbricated/nested tables?. Obwohl die Antwort von der Verbindung mir geholfen hat. Diese Frage befasst sich mit dem Thema, dass TextFrames eine ungeeignete Möglichkeit zum Verschachteln von Tabellen in Tabellen darstellen, da die Zelle nicht mit der geschachtelten Tabelle skaliert wird.

+0

Mögliche Duplikate von [MigraDoc - verschachtelte/verschachtelte Tabellen?] (Http://stackoverflow.com/questions/36303719/migradoc-imbriged-nested-tables) –

+0

Es ist eine mögliche Dublette in einer Weise, obwohl mein Problem selbst ist ein bisschen anders als das im Link. Aber die Lösung/Hack vom Link half. Siehe meine Antwort. Danke PDFsharp Team –

+0

Nicht die gleiche Frage, aber das gleiche Problem - und die gleiche Lösung funktioniert für beide Fragen. Brauchen wir sie beide, wenn sie nur ein bisschen anders sind? –

Antwort

0

Die undokumentierte Funktion von [MigraDoc - imbricated/nested tables? war die Antwort: Nun sieht der Code auf diese Weise und es funktioniert gut.

this.Table = this.MigraDokument.AddSection().addTable(); 
Row row = this.Table.AddRow(); 
// Here I grab the cell that I want to populate later 
Cell dataCell = row.Cells[0]; 

// Than I build the table with alle the necessary Information in it 
Table k_table = new Table(); 
// adding columns and rows with 
k_table.AddColumn(); 
k_table.AddColumn(); 
Row row = k_table.AddRow(); 
// and populate with data 
row.Cells[0].AddParagraph("Stuff 1"); 
row.Cells[1].AddParagraph("Stuff 2"); 

// The final trick is to add it in the end to the `Elements` 
// property of the cell 
dataCell.Elements.add(k_table); 

Der letzte Schritt hat den Effekt, daß die Tisch-Zelle zu den erstrecken gewachsen ist, daß die verschachtelte Tabelle ergibt! Kein Zusammenführen mit zusätzlichen Zeilen darunter erforderlich. Dieser Ansatz scheint flexibler zu sein als die Verwendung eines TextFrame, wie ich in meiner Frage versucht habe.

Verwandte Themen