본문 바로가기
파워쉘(Powershell)/파워쉘 GUI

파워쉘 DataGridView

by 예배파 2024. 3. 29.

DataGridView는 엑셀형태(격자로 된 테이블)로 데이터를 표현할 때 사용합니다

 

DataGridView에 데이터를 표현하는 두 가지 방법

1. 테이블 열(row)을  한 줄씩 만들어 추가

2. 데이터 소스를 바인딩해서 한번에 DataGridView에 추가

 

 

 

테이블 열(row)을 한 줄씩 만들어 추가하는 방법

Add-Type -AssemblyName System.windows.Forms

$form= New-Object System.Windows.Forms.Form    
$form.Size = '500,200'  

$dgv = New-Object System.Windows.Forms.DataGridView
$dgv.ColumnCount = 3
$dgv.Size = '450,140'
$dgv.Location = '20,10'

$dgv.Columns[0].Name = "성"         #첫번째 컬럼 이름
$dgv.Columns[0].Width = 100         #첫번째 컬럼 넓이
$dgv.Columns[1].Name = "이름"       #두번째 컬럼 이름 
$dgv.Columns[1].Width = 120        #두번째 컬럼 넓이
$dgv.Columns[2].Name = "전화"       #세번째 컬럼 이름 
$dgv.Columns[2].Width = 140        #세번째 컬럼 넓이

$dgv.Rows.Add('홍','길동','010-000-0000')
$dgv.Rows.Add('김','철수','010-000-0000')
$dgv.Rows.Add('이','순신','010-100-1000')

$form.Controls.Add($dgv)
$form.ShowDialog()

 

 

 

 

데이터 소스를 바인딩하는 방법 

Add-Type -AssemblyName System.windows.Forms

$form= New-Object System.Windows.Forms.Form    
$form.Size = '500,200'  

$dgv = New-Object System.Windows.Forms.DataGridView
$dgv.Size = '450,140'
$dgv.Location = '20,10'

$table = New-Object System.Data.DataTable;

$column = New-Object System.Data.DataColumn;
$column.DataType = [System.Type]::GetType("System.Int32");
$column.ColumnName = "No";
$table.Columns.Add($column);

$column = New-Object System.Data.DataColumn;
$column.DataType = [System.Type]::GetType("System.String");
$column.ColumnName = "Name";
$table.Columns.Add($column);

$row = $table.NewRow();
$row['No'] = 1
$row['Name'] = 'kim'
$table.Rows.Add($row)

$row = $table.NewRow();
$row['No'] = 2
$row['Name'] = 'Hong'
$table.Rows.Add($row)

$dgv.DataSource = $table

$form.Controls.Add($dgv)
$form.ShowDialog()