/// <summary>
 /// Установка заголовков столбцов
 /// </summary>
 public void SetColumnsHeaders(string[] headers)
 {
     if (headers == null)
     {
         throw new ArgumentNullException(nameof(headers));
     }
     if (headers.Length != _columns.Length)
     {
         throw new InvalidOperationException($"The number of columns ({headers.Length}) does not correspond to the expected ({_columns.Length})");
     }
     for (int i = 0; i < _columns.Length; i++)
     {
         _columns[i] = new TextTableColumn(headers[i]);
     }
     _rows.Insert(0, new TextTableRow(headers.Select((h, i) => new TextTableCell(_columns[i], h)).ToArray()));
 }
 public TextTableCell(TextTableColumn column, string text)
 {
     this._parent_column = column;
     this._text          = text;
     column.UpdateWidth(this);
 }