Split Table
O masă, reprezentată în Aspose.Words Document Object Model, este alcătuită din rânduri și celule independente, făcând ușor de împărțit o masă.
Pentru a manipula o masă pentru a o împărți în două mese, avem doar nevoie să mutăm unele rânduri din masa originală către cea nouă. Pentru asta avem nevoie să alegem rândul după care vrem să împărțim tabelul.
Putem crea două tabele din tabelul original urmând acești pași simpli:
- Creează o clonă a tabelului fără a clona copiii pentru a păstra rândurile mutate și a le introduce după tabelul original
- Începe de la rândul specificat, mută toate rândurile ulterioare în această a doua tabelă
Exemplul următor de cod arată cum să împărțiți o tabelă în două tabele pe un rând specific:
// 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"); |