//private void ComputeTableSize() //{ //} public override string ToString() { var rowHeadersWidth = RowsInfo.Max(r => r.Header.Length); var colHeadersWidth = ColumnsInfo.Max(c => c.Header.Length); var maxItemWidth = Math.Max(rowHeadersWidth, colHeadersWidth); for (var c = 0; c < Columns; c++) { for (var r = 0; r < Rows; r++) { var item = Items[r, c]; if (!string.IsNullOrEmpty(item) && maxItemWidth < item.Length) { maxItemWidth = item.Length; } } } var composer = new LinearTextComposer(); //Add column headers composer.Append(FormatItem("", maxItemWidth)); for (var c = 0; c < Columns; c++) { composer.Append(FormatItem(ColumnsInfo[c].Header, maxItemWidth)); } composer.AppendLine(); //Add rows for (var r = 0; r < Rows; r++) { composer.Append(FormatItem(RowsInfo[r].Header, maxItemWidth)); for (var c = 0; c < Columns; c++) { composer.Append(FormatItem(Items[r, c], maxItemWidth)); } composer.AppendLine(); } return(composer.ToString()); }
public LtcLineCount(LinearTextComposer parentComposer, string formatString) { ParentComposer = parentComposer; FormatString = formatString; }
public LtcLineCount(LinearTextComposer parentComposer) { ParentComposer = parentComposer; }