0 Pluspunkte 0 Minuspunkte

Wie kann ich einen DataGridView (wie es in C# gibt) in Powershell erstellen und Daten (z.B aus einer CSV Datei) einfügen?

Add-Type -AssemblyName System.Windows.Forms

# Erstelle eine Form
$form = New-Object Windows.Forms.Form
$form.Text = "DataGridView Beispiel"
$form.Width = 600
$form.Height = 400

# Erstelle eine DataGridView
$dataGridView = New-Object Windows.Forms.DataGridView
$dataGridView.Width = 550
$dataGridView.Height = 300
$dataGridView.AutoGenerateColumns = $true # Automatisch Spalten erstellen

# Erstelle eine Spalte für den Spaltennamen "Name"
$nameColumn = New-Object Windows.Forms.DataGridViewTextBoxColumn
$nameColumn.HeaderText = "Name"
$nameColumn.Name = "Name"

# Erstelle eine Spalte für den Spaltennamen "Name"
$ageColumn = New-Object Windows.Forms.DataGridViewTextBoxColumn
$ageColumn.HeaderText = "Alter"
$ageColumn.Name = "Alter"

# Füge die Spalte zur DataGridView hinzu
$dataGridView.Columns.Add($nameColumn)
$dataGridView.Columns.Add($ageColumn)

# Fülle die DataGridView mit Daten
$dataSource = @(
    [PSCustomObject]@{ Name = "Franz" ; Alter = 10}
    [PSCustomObject]@{ Name = "Peter" ; Alter = 20}
    [PSCustomObject]@{ Name = "Wilhelm" ; Alter = 30}
)

$dataGridView.DataSource = $dataSource

# Füge die DataGridView zur Form hinzu
$form.Controls.Add($dataGridView)

# Zeige die Form an
$form.ShowDialog()

Der View wird zwar angezeigt und 3 Zeilen erstellt aber die sind leer.

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier hast du ein Beispiel

Add-Type -AssemblyName System.Windows.Forms

$form = New-Object Windows.Forms.Form
$form.Text = "DataGridView Beispiel"
$form.Width = 600
$form.Height = 400

$dataGridView = New-Object Windows.Forms.DataGridView
$dataGridView.Width = 550
$dataGridView.Height = 300

$dataTable = New-Object System.Data.DataTable
$dataTable.Columns.Add("Name")
$dataTable.Columns.Add("Alter")

$dataTable.Rows.Add("Franz", 10)
$dataTable.Rows.Add("Peter", 20)
$dataTable.Rows.Add("William", 30)

$dataGridView.DataSource = $dataTable

$form.Controls.Add($dataGridView)

$form.ShowDialog()
von