SharpTables
1.0.0
รูปแบบตารางคอนโซลที่หลากหลายและปรับแต่งได้ สร้างตารางพร้อมที่จะเขียนเพื่อคอนโซลด้วยความสามารถในการปรับแต่งแม้กระทั่งอักขระที่ใช้โดยเครื่องกำเนิดไฟฟ้าเพื่อสร้างตาราง
สำหรับโปรแกรมตัวอย่างดูตัวอย่าง โปรดจำไว้ว่าการทำงานทั้งหมดไม่รวมอยู่ในนั้น
using SharpTables ;
Formatting f = Formatting . Minimalist ;
object [ , ] dataset = new object [ , ]
{
{ "Name" , "Age" , "City" } ,
{ "John Doe" , 42 , "New York" } ,
{ "Jane Doe" , 36 , "Chicago" } ,
{ "Joe Bloggs" , 25 , "Los Angeles" } ,
{ "Jenny Smith" , 28 , "Miami" }
} ;
Table table = Table . FromDataSet ( dataset ) // Also supports IEnumerable<IEnumerable<T>>
. AddRow ( new Row ( "Jimmy Jones" , null , "Las Vegas" ) ) // Supports nullables and manually adding rows
. UseNullOrEmptyReplacement ( "N/A" )
. UsePreset ( cell => cell . Color = cell . IsNumeric ? ConsoleColor . Yellow : ConsoleColor . White ) ;
table . Print ( ) ;
/*
Name Age City
────────────────────────────────────────────
John Doe 42 New York
Jane Doe 36 Chicago
Joe Bloggs 25 Los Angeles
Jenny Smith 28 Miami
Jimmy Jones N/A Las Vegas
*/ คลาส Formatting มีค่าที่ตั้งไว้ล่วงหน้าอยู่แล้วคุณสามารถแก้ไขได้โดยใช้ with เป็นประเภท record หรือสร้างอินสแตนซ์ของคุณเอง โดยค่าเริ่มต้นการใช้ new Formatting() จะใช้ Formatting.Default
// Using the power of records!
Formatting format = Formatting . ASCII with
{
DividerColor = ConsoleColor . DarkGray ,
BottomLeftDivider = '@' ,
BottomRightDivider = '@' ,
TopLeftDivider = '@' ,
TopRightDivider = '@' ,
MiddleDivider = '%' ,
Header = Formatting . ASCII . Header with { Separated = true , }
} ;
/*
+----------------+--------+----------------+
|Name |Age |City |
+----------------+--------+----------------+
@----------------+--------+----------------@
|John Doe |42 |New York |
+----------------%--------%----------------+
|Jane Doe |36 |Chicago |
+----------------%--------%----------------+
|Joe Bloggs |25 |Los Angeles |
+----------------%--------%----------------+
|Jenny Smith |28 |Miami |
+----------------%--------%----------------+
|Jimmy Jones |N/A |Las Vegas |
@----------------+--------+----------------@
*/คุณยังสามารถใช้การจัดรูปแบบเฉพาะเซลล์ซึ่งสามารถใช้ในการเปลี่ยนวิธีการที่เซลล์จะมีลักษณะในตาราง
List < Foo > foos = new List < Foo >
{
new Foo { A = 1 , B = "Hello" , C = true } ,
new Foo { A = 2 , B = "World" , C = false } ,
new Foo { A = 3 , B = "Something" , C = true } ,
} ;
// 'c' represents any cell in the table
table . UsePreset ( c =>
{
if ( bool . TryParse ( c . Text , out bool b ) )
{
c . Text = b ? "V" : "X" ;
c . Alignment = Alignment . Center ;
c . Color = b ? ConsoleColor . Green : ConsoleColor . Red ;
}
if ( int . TryParse ( c . Text , out int i ) )
{
c . Color = ConsoleColor . Yellow ;
c . Padding = 0 ;
c . Alignment = Alignment . Right ;
}
} ) ;
/*
The result is colored on console.
╔═══════════╦══════════════╦════╗
║ Is Active ║ Name ║ ID ║
╠═══════════╬══════════════╬════╣
│ V │Hello │ 1│
├───────────┼──────────────┼────┤
│ X │World │ 2│
├───────────┼──────────────┼────┤
│ V │Something │ 3│
└───────────┴──────────────┴────┘
*/ หากคุณพบข้อผิดพลาดมีคำถามใด ๆ ต้องการใช้งานเพิ่มเติมหรือมีส่วนร่วมในวิธีอื่น ๆ อย่าลังเลที่จะเปิดคำขอดึง!
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT