static void Main(string[] args) { TextTable table = new TextTable(); table.AddRow("TextTables.NET demo").WithColSpan(0, 4); table.AddRow("Multiple columns", "Or rows", 1.6180).WithColSpan(0, 2).WithRowSpan(1, 2); table.AddRow(3.14, "foo", "bar"); Console.WriteLine(table); // +---------------------------------------+ // | TextTables.NET demo | // +---------------------+---------+-------+ // | Multiple columns | | 1.618 | // +----------+----------+ Or rows +-------+ // | 3.14 | foo | | bar | // +----------+----------+---------+-------+ table.Options.Charset = TextTableCharset.GetBoxCharset(); Console.WriteLine(table); // ┌────────────────────────────────────────┐ // │ TextTables.NET demo │ // ├──────────┬──────────┬─────────┬────────┤ // │ 1 │ 2 │ 3 │ 3.1415 │ // ├──────────┴──────────┼─────────┼────────┤ // │ Multiple columns │ │ 1.618 │ // ├──────────┬──────────┤ Or rows ├────────┤ // │ foo │ bar │ │ 2.7182 │ // └──────────┴──────────┴─────────┴────────┘ Console.ReadLine(); }
public TextTableOptions() { Charset = TextTableCharset.GetStandardCharset(); Padding = new TextTablePadding(); HorizontalAlignment = TextTableHorizontalAlignment.Center; VerticalAlignment = TextTableVerticalAlignment.Center; }
public static TextTableCharset GetBoxCharset() { var set = new TextTableCharset(); set.None = ' '; set.CornerUpLeft = (char)0x250C; set.CornerUpRight = (char)0x2510; set.CornerDownLeft = (char)0x2514; set.CornerDownRight = (char)0x2518; set.Cross = (char)0x253C; set.VerticalLeft = (char)0x251C; set.VerticalRight = (char)0x2524; set.HorizontalUp = (char)0x252C; set.HorizontalDown = (char)0x2534; set.Vertical = (char)0x2502; set.Horizontal = (char)0x2500; return(set); }
public static TextTableCharset GetStandardCharset() { var set = new TextTableCharset(); set.None = ' '; set.CornerUpLeft = '+'; set.CornerUpRight = '+'; set.CornerDownLeft = '+'; set.CornerDownRight = '+'; set.Cross = '+'; set.VerticalLeft = '+'; set.VerticalRight = '+'; set.HorizontalUp = '+'; set.HorizontalDown = '+'; set.Vertical = '|'; set.Horizontal = '-'; return(set); }
public TableWriter(StringBuilder innerBuilder, Size tableSize, TextTableCharset charset) { InnerBuilder = innerBuilder; TableSize = tableSize; Charset = charset; // Use InnerBuilder.Clear() for .NET 4.0+ InnerBuilder.Length = 0; InnerBuilder.Capacity = tableSize.Height * (tableSize.Width + 1); for (var i = 0; i < tableSize.Height; i++) { for (var j = 0; j < tableSize.Width; j++) { InnerBuilder.Append(' '); } InnerBuilder.Append('\n'); } Connections = new BorderConnection[tableSize.Height, tableSize.Width]; }