GridSpan.cs
C# VB
//// This code is part of Document Solutions for Word demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System.Drawing;using GrapeCity.Documents.Word;
namespace DsWordWeb.Demos{ // This sample creates a simple table and uses GridSpan // to visually extend a cell to 2 adjacent cells. public class GridSpan { public GcWordDocument CreateDocx() { GcWordDocument doc = new GcWordDocument();
doc.Body.Sections.First.GetRange().Paragraphs.Add("Here is a 5 columns by 3 rows table, with three middle cells in row 2 merged:"); var t = doc.Body.Sections.First.GetRange().Tables.Add(new string[][] { new string[] { "row 1, col 1", "row 1, col 2", "row 1, col 3", "row 1, col 4", "row 1, col 5", }, new string[] { "row 2, col 1", "row 2, col 2", "row 2, col 3", "row 2, col 4", "row 2, col 5", }, new string[] { "row 3, col 1", "row 3, col 2", "row 3, col 3", "row 3, col 4", "row 3, col 5", }, } ); // Create a new table style: var ts1 = doc.Styles.Add("Table Style 1", StyleType.Table); // We can enumerate all table borders, including inside borders: foreach (var border in ts1.Table.Borders) { border.LineStyle = LineStyle.Triple; border.LineWidth = 0.5f; border.Color.RGB = Color.Purple; } // Overwrite inside border's line styles: ts1.Table.Borders.InsideHorizontal.LineStyle = ts1.Table.Borders.InsideVertical.LineStyle = LineStyle.Double; // Add some padding: ts1.Table.Padding.All = 3;
// Assign the style to the table: t.Style = ts1;
// Set up cell (1,1) to visually span two following cells: var cell = t.Rows[1].Cells[1]; cell.Format.GridSpan = 3; // Remove the 2 following cells (unless we want to create a jagged table): t.Rows[1].Cells[3].Delete(); t.Rows[1].Cells[2].Delete();
cell.GetRange().Paragraphs.First.Delete(); cell.GetRange().Paragraphs.Add("Cell in col 2 merged with cells in cols 3 & 4");
// Done: return doc; } }}