Tabel splitsen
Een tabel in de Aspose.Words Document Object Model, is opgebouwd uit onafhankelijke rijen en cellen, waardoor het gemakkelijk is om een tabel te splitsen.
Om een tabel te manipuleren om het in twee tafels op te splitsen, moeten we enkele rijen verplaatsen van de oorspronkelijke tabel naar de nieuwe. Om dit te doen, moeten we de rij kiezen waarmee we de tafel willen delen.
We kunnen twee tabellen van de oorspronkelijke tabel maken door deze eenvoudige stappen te volgen:
- Maak een kloon van de tafel zonder de kinderen te klonen om de verplaatste rijen te houden en plaats ze na de oorspronkelijke tabel
- Vanaf de opgegeven rij, alle volgende rijen naar deze tweede tabel verplaatsen
Het volgende voorbeeld van code laat zien hoe een tabel in twee tabellen op een specifieke rij moet worden gesplitst:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git. | |
Document doc = new Document(MyDir + "Tables.docx"); | |
Table firstTable = (Table) doc.GetChild(NodeType.Table, 0, true); | |
// We will split the table at the third row (inclusive). | |
Row row = firstTable.Rows[2]; | |
// Create a new container for the split table. | |
Table table = (Table) firstTable.Clone(false); | |
// Insert the container after the original. | |
firstTable.ParentNode.InsertAfter(table, firstTable); | |
// Add a buffer paragraph to ensure the tables stay apart. | |
firstTable.ParentNode.InsertAfter(new Paragraph(doc), firstTable); | |
Row currentRow; | |
do | |
{ | |
currentRow = firstTable.LastRow; | |
table.PrependChild(currentRow); | |
} while (currentRow != row); | |
doc.Save(ArtifactsDir + "WorkingWithTables.SplitTable.docx"); |