Powershell - DataGridView filtern - BindingSource ist die Quelle
Hallo zusammen,
irgendwie funktioniert das filtern des bindingSource-Objekts nicht.
Die BindingSource wird wie folgt deklariert:
Die Eigenschaft "datasource" wird wie folgt befüllt und anschließend an das DataGridView-Objekt übergeben:
Bis hierhin funktioniert alles einwandfrei. Die DataGridView wird korrekt befüllt (also alle Objekte + deren Eigenschaften).
Über der DataGridView (also innerhalb der GUI) habe ich ein Textfeld. Die Eingaben werden entsprechend getriggert und an die Eigenschaft Filter übergeben, also wie folgt:
count gibt mir nachwievor 2 Objekte zurück, obwohl es kein Objekt gibt, bei dem die Eigenschaft "Username" das Wort "bla" enthält. Es müsste also 0 zurückgegeben werden.
Die Objekte, die auch in der DataGridView angezeigt werden, sehen wie folgt aus:
Hat jemand eine Idee? Wo ist mein Denkfehler? Gibt es noch eine andere Möglichkeit die BindingSource zu filtern? Ich möchte ungern über Where-Object filtern, indem ich den gewünschten String ermittel und der datasource-Eigenschaft der dataGridView zufüge.
Wenn ihr noch Infos braucht, kurz Bescheid geben.
Viele Grüße
Toni
irgendwie funktioniert das filtern des bindingSource-Objekts nicht.
Die BindingSource wird wie folgt deklariert:
$script:bindingSourceSessions = New-Object System.Windows.Forms.BindingSource
Die Eigenschaft "datasource" wird wie folgt befüllt und anschließend an das DataGridView-Objekt übergeben:
[System.Collections.ArrayList]$listSessions = @(Get-OpenSessions)
$script:bindingSourceSessions.datasource = $listSessions
$DataGridViewSessions.DataSource = $script:BindingSourceSessions
Bis hierhin funktioniert alles einwandfrei. Die DataGridView wird korrekt befüllt (also alle Objekte + deren Eigenschaften).
Über der DataGridView (also innerhalb der GUI) habe ich ein Textfeld. Die Eingaben werden entsprechend getriggert und an die Eigenschaft Filter übergeben, also wie folgt:
$TextboxSearchSession_TextChanged =
{
$script:bindingSourceSessions.Filter = "Username LIKE 'bla'"
Write-Host $script:bindingSourceSessions.Count
#$DataGridViewSessions.DataSource = $script:bindingSourceSessions
}
count gibt mir nachwievor 2 Objekte zurück, obwohl es kein Objekt gibt, bei dem die Eigenschaft "Username" das Wort "bla" enthält. Es müsste also 0 zurückgegeben werden.
Die Objekte, die auch in der DataGridView angezeigt werden, sehen wie folgt aus:
Username Client ClientIP
-------- ------ --------
Administrator [XXX] [XXX]
Administrator [XXX] [XXX]
Hat jemand eine Idee? Wo ist mein Denkfehler? Gibt es noch eine andere Möglichkeit die BindingSource zu filtern? Ich möchte ungern über Where-Object filtern, indem ich den gewünschten String ermittel und der datasource-Eigenschaft der dataGridView zufüge.
Wenn ihr noch Infos braucht, kurz Bescheid geben.
Viele Grüße
Toni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 561670
Url: https://administrator.de/forum/powershell-datagridview-filtern-bindingsource-ist-die-quelle-561670.html
Ausgedruckt am: 16.05.2025 um 11:05 Uhr
7 Kommentare
Neuester Kommentar
Hallo,
du musst deinen Filter auf den View des Datagrid legen
Filtering Datagrid c#
du musst deinen Filter auf den View des Datagrid legen
$DataGridViewSessions. DefaultView. RowFilter......
Filtering Datagrid c#

Jepp, wandle dir das Data-Object in ne DataTable um
https://gallery.technet.microsoft.com/scriptcenter/4208a159-a52e-4b99-83 ...
https://gallery.technet.microsoft.com/scriptcenter/4208a159-a52e-4b99-83 ...