public virtual void WriteAllValues(IConsoleOutputter consoleOutputter, ViewPort viewPort, ColumnDetails columnConstraints, int lineOrdinal, bool displayNulls = true, string verticalSeparator = "|", string truncationIdentifier = "...") { foreach (ICellContent item in this.GetCellContentByLineOrdinal(lineOrdinal)) { string data = columnConstraints.GetFormattedValue(item.Value, viewPort, displayNulls, verticalSeparator); if (IsOverlyLargeColumn(columnConstraints, viewPort, verticalSeparator)) { if (data.Length > viewPort.Width) { if (item.ForegroundColor.HasValue) { consoleOutputter.SetForegroundColor(item.ForegroundColor.Value); } consoleOutputter.Write(data.Substring(0, viewPort.Width - (verticalSeparator.Length * 2) - Environment.NewLine.Length - truncationIdentifier.Length)); consoleOutputter.SetForegroundColor(ConsoleColor.Yellow); consoleOutputter.BackgroundColor = ConsoleColor.Black; consoleOutputter.Write(truncationIdentifier); consoleOutputter.ResetColor(); } else { if (item.ForegroundColor.HasValue) { consoleOutputter.SetForegroundColor(item.ForegroundColor.Value); } consoleOutputter.Write(data); consoleOutputter.ResetColor(); } } else if (data.Contains("[null]")) { consoleOutputter.SetForegroundColor(ConsoleColor.DarkGray); consoleOutputter.Write(data); consoleOutputter.ResetColor(); } else { if (item.ForegroundColor.HasValue) { consoleOutputter.SetForegroundColor(item.ForegroundColor.Value); } consoleOutputter.Write(data); consoleOutputter.ResetColor(); } } }
public virtual void Write(IConsoleOutputter consoleOutputter, ViewPort viewPort, int lineOrdinal, ColumnDetails columnConstraints) { WriteAllValues(consoleOutputter, viewPort, columnConstraints, lineOrdinal); }
public TableWriter(IConsoleOutputter consoleOutputter, ViewPort viewPort) { this.consoleOutputter = consoleOutputter; this.viewPort = viewPort; }