Skip to content

Commit 324a436

Browse files
committed
Added DotsTableRenderer and RoundedCornersTableRenderer
1 parent 14467a4 commit 324a436

4 files changed

Lines changed: 41 additions & 2 deletions

File tree

DemoApp/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
new SimpleLineTableRenderer(),
1616
new SingleLineTableRenderer(),
1717
new DoubleLineTableRenderer(),
18-
new HatchedTableRenderer()
18+
new RoundedCornersTableRenderer(),
19+
new HatchedTableRenderer(),
20+
new DotsTableRenderer()
1921
};
2022

2123
var tablebuilder = new TableBuilder();

README.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ The `DefaultObjectHandler`, by default, pads all rows with missing values with `
363363

364364
The TextTableBuilder uses an `ITableRenderer` to do the actual 'rendering' of the table. The TableRenderer is provided with `RenderColums`, which provide column information, and an `IEnumerable<string[]>` which represents the rows and values. The values have been formatted at this point; the table renderer takes care of aligning, padding etc.
365365

366-
By default, the TextTableBuilder uses the `DefaultTableRenderer` which produced the above examples. A few other, very simple, renderers are provided. These are the `MinimalTableRenderer` and `MSDOSTableRenderer`, `SimpleLineTableRenderer`, `SingleLineTableRenderer`, `DoubleLineTableRenderer` and `HatchedTableRenderer`.
366+
By default, the TextTableBuilder uses the `DefaultTableRenderer` which produced the above examples. A few other, very simple, renderers are provided. These are the `MinimalTableRenderer` and `MSDOSTableRenderer`, `SimpleLineTableRenderer`, `SingleLineTableRenderer`, `DoubleLineTableRenderer`, `HatchedTableRenderer`, `DotsTableRenderer` and `RounderCornersTableRenderer`.
367367

368368
To use a specific `ITableRenderer` you pass one to the `Build()` method:
369369

@@ -444,6 +444,19 @@ No Name Position Salary
444444
╚════╩═════════════════╩═══════════════════╩════════════════╝
445445
```
446446

447+
### RoundedCornersTableRenderer:
448+
449+
```cmd
450+
╭────┬─────────────────┬───────────────────┬────────────────╮
451+
│ No │ Name │ Position │ Salary │
452+
├────┼─────────────────┼───────────────────┼────────────────┤
453+
│ 1 │ Bill Gates │ Founder Microsoft │ $ 10,000.00 │
454+
│ 2 │ Steve Jobs │ Founder Apple │ $ 1,200,000.00 │
455+
│ 3 │ Larry Page │ Founder Google │ $ 1,100,000.00 │
456+
│ 4 │ Mark Zuckerberg │ Founder Facebook │ $ 1,300,000.00 │
457+
╰────┴─────────────────┴───────────────────┴────────────────╯
458+
```
459+
447460
### HatchedTableRenderer:
448461

449462
```cmd
@@ -457,6 +470,18 @@ No Name Position Salary
457470
\----+-----------------+-------------------+----------------/
458471
```
459472

473+
### DotsTableRenderer:
474+
475+
```cmd
476+
.............................................................
477+
: No : Name : Position : Salary :
478+
:....:.................:...................:................:
479+
: 1 : Bill Gates : Founder Microsoft : $ 10,000.00 :
480+
: 2 : Steve Jobs : Founder Apple : $ 1,200,000.00 :
481+
: 3 : Larry Page : Founder Google : $ 1,100,000.00 :
482+
: 4 : Mark Zuckerberg : Founder Facebook : $ 1,300,000.00 :
483+
.............................................................
484+
```
460485

461486
## Example
462487

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace TextTableBuilder.TableRenderers;
2+
3+
public class DotsTableRenderer : BorderedTableRenderer {
4+
public DotsTableRenderer(int cellPadding = DEFAULTCELLPADDING, char paddingChar = DEFAULTPADDINGCHAR)
5+
: base("....::::.::....", cellPadding, paddingChar) { }
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
namespace TextTableBuilder.TableRenderers;
2+
3+
public class RoundedCornersTableRenderer : BorderedTableRenderer {
4+
public RoundedCornersTableRenderer(int cellPadding = DEFAULTCELLPADDING, char paddingChar = DEFAULTPADDINGCHAR)
5+
: base("╭─┬╮│││├─┼┤╰─┴╯", cellPadding, paddingChar) { }
6+
}

0 commit comments

Comments
 (0)