Exemplo n.º 1
0
        //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());
        }
Exemplo n.º 2
0
 public LtcLineCount(LinearTextComposer parentComposer, string formatString)
 {
     ParentComposer = parentComposer;
     FormatString   = formatString;
 }
Exemplo n.º 3
0
 public LtcLineCount(LinearTextComposer parentComposer)
 {
     ParentComposer = parentComposer;
 }