DataGrid nach bestimmten Parameter filtern
Grüße,
ich würde gern in mein DataGrid etwas rausfiltern.
Wie würde denn sowas gehen im Internet finde ich nix außer das hier :
Vielleicht weiß jemand wie sowas allgemein geht :D
ich würde gern in mein DataGrid etwas rausfiltern.
Wie würde denn sowas gehen im Internet finde ich nix außer das hier :
$dataGrid_OVERVIEW.DataSource.filter
Vielleicht weiß jemand wie sowas allgemein geht :D
Please also mark the comments that contributed to the solution of the article
Content-Key: 6188028622
Url: https://administrator.de/contentid/6188028622
Printed on: December 6, 2023 at 04:12 o'clock
4 Comments
Latest comment

Filtere die Quelldaten mittels where-object und weise die Daten dann der DataSource-Eigenschaft zu.
Beispiele findest du hier en Masse.
z.B. Filteroptionen für DataTable
Gruß sid
Beispiele findest du hier en Masse.
z.B. Filteroptionen für DataTable
Add-Type -A System.Windows.Forms
$data = get-process
$arraylist = New-Object System.Collections.ArrayList
$arraylist.AddRange(@($data))
$form = New-Object System.Windows.Forms.Form -P @{
ClientSize = '800,600'
Text = "Filter Data"
}
$dgv = New-Object System.Windows.Forms.DataGridView -P @{
Location = "10,10"
Size = "780,500"
DataSource = $arraylist
}
$btnFilter = New-Object System.Windows.Forms.Button -P @{
Text = "Filter to Explorer.exe process"
Location = "10,530"
Size = "200,30"
add_Click = {
$data = $arraylist | ? Name -eq 'explorer'
$arraylist = New-Object System.Collections.ArrayList
$arraylist.AddRange(@($data))
$dgv.DataSource = $arraylist
}
}
$form.Controls.AddRange(@($dgv,$btnFilter))
$form.ShowDialog() | out-null

Klar einfach mal die verfügbaren Operatoren anschauen
about_Operators
$arraylist | ? Name -notlike '*explorer*'
$arraylist | ? Name -notin 'explorer','firefox','chrome'
$arraylist | ? Name -notmatch '^ex..orer$'
...
Hier das ganze auch nochmal als Alternative mittels einer Datatable als Datenquelle:
Add-Type -A System.Windows.Forms
# Datenquelle erstellen
$data = New-Object System.Data.DataTable
$data.Columns.AddRange(@("Vorname","Nachname"))
$data.Rows.Add(@("Max","Muster"))
$data.Rows.Add(@("Petra","Musterfrau"))
$form = New-Object System.Windows.Forms.Form -P @{
ClientSize = '800,600'
Text = "Filter Data"
}
$dgv = New-Object System.Windows.Forms.DataGridView -P @{
Location = "10,10"
Size = "780,500"
# Datenquelle dem DataGridView zuweisen
DataSource = $data
}
$btnFilter = New-Object System.Windows.Forms.Button -P @{
Text = "Nach Vorname filtern"
Location = "10,530"
Size = "200,30"
add_Click = {
# Möglichkeiten die Datenquelle des DataGridViews auf bestimmte Einträge zu beschränken
# für weitere Möglichkeiten und die Filter-Syntax:
# https:{{comment_single_line_double_slash:0}}
# Normaler Vergleich
$data.DefaultView.RowFilter = "Vorname = 'Max'"
# Wildcard Vergleich
#$data.DefaultView.RowFilter = "Vorname like 'Ma*'"
# Listenvergleich
#$data.DefaultView.RowFilter = "Vorname IN ('Max','Petra')"
}
}
$form.Controls.AddRange(@($dgv,$btnFilter))
$form.ShowDialog() | out-null
RTFM!
Powershell Leitfaden für Anfänger