@@ -8,15 +8,21 @@ static void Main(string[] args)
88
99 WriteDefaultTableWithProperties ( ) ;
1010
11- WriteTableWithStyling ( true , true , 10 ) ;
11+ WriteTableWithStyling ( true , true , true , 10 ) ;
1212
13- WriteTableWithStyling ( false , true , 10 ) ;
13+ WriteTableWithStyling ( false , true , true , 10 ) ;
1414
15- WriteTableWithStyling ( true , false , 10 ) ;
15+ WriteTableWithStyling ( true , false , true , 10 ) ;
1616
17- WriteTableWithStyling ( false , false , 10 ) ;
17+ WriteTableWithStyling ( true , true , false , 10 ) ;
1818
19- WriteTableWithoutHeaders ( ) ;
19+ WriteTableWithStyling ( false , false , false , 10 ) ;
20+
21+ WriteTableOnlyHeaders ( ) ;
22+
23+ WriteTableOnlyRows ( ) ;
24+
25+ WriteTableOnlyFooters ( ) ;
2026
2127 WriteTableMoreHeaders ( ) ;
2228
@@ -36,15 +42,24 @@ private static void WriteDefaultTable()
3642 Console . WriteLine ( ) ;
3743 Console . WriteLine ( "Default table:" ) ;
3844
45+ // Setup the table
3946 var table = new Table ( ) ;
47+
48+ // Set headers
4049 table . SetHeaders ( "Name" , "Age" , "City" ) ;
50+
51+ // Add rows
4152 table . AddRow ( "Alice Cooper" , "30" , "New York" ) ;
4253 table . AddRows ( new string [ ] [ ]
4354 {
4455 new string [ ] { "Bob" , "25" , "Los Angeles" } ,
4556 new string [ ] { "Charlie Brown" , "47" , "Chicago" }
4657 } ) ;
4758
59+ // Set footers
60+ table . SetFooters ( "Total: 3" , "Total Age: 102" ) ;
61+
62+ // Display the table
4863 Console . WriteLine ( table . ToTable ( ) ) ;
4964 Console . WriteLine ( ) ;
5065 }
@@ -70,15 +85,41 @@ private static void WriteDefaultTableWithProperties()
7085 Console . WriteLine ( ) ;
7186 }
7287
73- private static void WriteTableWithoutHeaders ( )
88+ private static void WriteTableOnlyRows ( )
7489 {
7590 Console . WriteLine ( ) ;
76- Console . WriteLine ( "Table without headers :" ) ;
91+ Console . WriteLine ( "Table only rows :" ) ;
7792
7893 var table = new Table ( ) ;
7994
8095 for ( int i = 1 ; i <= 5 ; i ++ )
96+ {
8197 table . AddRow ( $ "name { i } ", ( i * 15 ) . ToString ( ) ) ;
98+ }
99+
100+ Console . WriteLine ( table . ToString ( ) ) ;
101+ Console . WriteLine ( ) ;
102+ }
103+
104+ private static void WriteTableOnlyHeaders ( )
105+ {
106+ Console . WriteLine ( ) ;
107+ Console . WriteLine ( "Table only headers:" ) ;
108+
109+ var table = new Table ( ) ;
110+ table . SetHeaders ( "Name" , "Age" , "City" ) ;
111+
112+ Console . WriteLine ( table . ToString ( ) ) ;
113+ Console . WriteLine ( ) ;
114+ }
115+
116+ private static void WriteTableOnlyFooters ( )
117+ {
118+ Console . WriteLine ( ) ;
119+ Console . WriteLine ( "Table only footers:" ) ;
120+
121+ var table = new Table ( ) ;
122+ table . SetFooters ( "Total: 3" , "Total Age: 102" ) ;
82123
83124 Console . WriteLine ( table . ToString ( ) ) ;
84125 Console . WriteLine ( ) ;
@@ -145,24 +186,28 @@ private static void WriteTableEachRowRandom()
145186 table . AddRow ( "Mathias" , "37" , "Oslo" , "Norway" , "Europe" , "Earth" , "Solar System" ) ;
146187 table . AddRow ( "Kenny" , "55" , "Tokyo" ) ;
147188
189+ table . SetFooters ( "Footer 1" , "Footer 2" ) ;
190+
148191 Console . WriteLine ( table . ToString ( ) ) ;
149192 Console . WriteLine ( ) ;
150193 }
151194
152- private static void WriteTableWithStyling ( bool headerTextAlignRight , bool rowTextAlignRight , int padding )
195+ private static void WriteTableWithStyling ( bool headerTextAlignRight , bool rowTextAlignRight , bool footerTextAlignRight , int padding )
153196 {
154197 Console . WriteLine ( ) ;
155198 Console . WriteLine ( $ "Table with following styling:") ;
156199 Console . WriteLine ( $ "Header text alignment: { ( headerTextAlignRight ? "right" : "left" ) } ") ;
157200 Console . WriteLine ( $ "Row text alignment: { ( rowTextAlignRight ? "right" : "left" ) } ") ;
201+ Console . WriteLine ( $ "Footer text alignment: { ( footerTextAlignRight ? "right" : "left" ) } ") ;
158202 Console . WriteLine ( $ "Padding: { padding } ") ;
159203
160204 var table = new Table
161205 {
162206 CachingEnabled = true ,
163207 Padding = padding ,
164208 HeaderTextAlignmentRight = headerTextAlignRight ,
165- RowTextAlignmentRight = rowTextAlignRight
209+ RowTextAlignmentRight = rowTextAlignRight ,
210+ FooterTextAlignmentRight = footerTextAlignRight
166211 } ;
167212
168213 table . SetHeaders ( "Name" , "Age" , "City" ) ;
@@ -175,6 +220,8 @@ private static void WriteTableWithStyling(bool headerTextAlignRight, bool rowTex
175220 table . AddRow ( $ "Very Long Name { i } ", ( i * 8 ) . ToString ( ) , $ "City { i } ") ;
176221 }
177222
223+ table . SetFooters ( "Footer 1" , "Footer 2" , "Footer 3" ) ;
224+
178225 Console . WriteLine ( table . ToString ( ) ) ;
179226 Console . WriteLine ( ) ;
180227 }
@@ -191,6 +238,7 @@ private static void WriteTableFluent()
191238 new string [ ] { "Bob" , "25" , "Los Angeles" } ,
192239 new string [ ] { "Charlie Brown" , "47" , "Chicago" }
193240 )
241+ . SetFooters ( "Total: 3" , "Total Age: 102" )
194242 . ToTable ( ) ;
195243
196244 Console . WriteLine ( tableString ) ;
@@ -230,6 +278,13 @@ private static void WriteBigTable()
230278 }
231279 table . Rows = rows ;
232280
281+ var footers = new List < string > ( ) ;
282+ for ( var columnPos = 1 ; columnPos <= columnCount ; columnPos ++ )
283+ {
284+ footers . Add ( $ "Footer { columnPos } ") ;
285+ }
286+ table . Footers = footers . ToArray ( ) ;
287+
233288 var tableString = table . ToTable ( ) ;
234289
235290 Console . WriteLine ( tableString ) ;
0 commit comments