Powershell Status Checkbox im Datagridview
Hi@PS Profi's
man muss ja das Rad nicht neu Erfinden und im Netz fand ich diese kleine Funktion.
Wenn ich die auf mein Datagridview loslasse liefert sie allerdings nicht das korrekte Ergebnis:
Erst wenn der Fokus auf eine andere Zeile statt der zuletzt aktivierten liegt wird der Status der Checkboxen korrekt geprüft.
Jetzt könnte man ja beim Ausführen der Funktion eine neue aktive Zeile setzen, aber ist das so gewollt vom DGV das der Wert($true/$false) erst beim Zellenwechsel übernommen wird?
EDIT: Das Wechseln der aktiven Zeile liefert auch nicht das korrekt Verhalten. Erst wenn ich eine andere Zeile anklicke DANN nimmt er den korrekten Status. *grübel*
Gruß vom H41mSh1C0r
man muss ja das Rad nicht neu Erfinden und im Netz fand ich diese kleine Funktion.
Function Do-Grid{
for($i=0;$i -lt $datagridview1.RowCount;$i++){
if($datagridview1.Rows[$i].Cells[6].Value -eq $true)
{
write-host "cell #$i is checked"
#uncheck it
}
else
{
#check it
write-host "cell #$i is not-checked"
}
}
}
Wenn ich die auf mein Datagridview loslasse liefert sie allerdings nicht das korrekte Ergebnis:
########### Zeile 1 und 2 checked, Focus auf Zeile 2
cell #0 is checked
cell #1 is not-checked
cell #2 is not-checked
cell #3 is not-checked
########### Zeile 1 und 2 checked, Focus auf Zeile 3
cell #0 is checked
cell #1 is checked
cell #2 is not-checked
cell #3 is not-checked
Erst wenn der Fokus auf eine andere Zeile statt der zuletzt aktivierten liegt wird der Status der Checkboxen korrekt geprüft.
Jetzt könnte man ja beim Ausführen der Funktion eine neue aktive Zeile setzen, aber ist das so gewollt vom DGV das der Wert($true/$false) erst beim Zellenwechsel übernommen wird?
EDIT: Das Wechseln der aktiven Zeile liefert auch nicht das korrekt Verhalten. Erst wenn ich eine andere Zeile anklicke DANN nimmt er den korrekten Status. *grübel*
Gruß vom H41mSh1C0r
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 294199
Url: https://administrator.de/forum/powershell-status-checkbox-im-datagridview-294199.html
Ausgedruckt am: 16.04.2025 um 10:04 Uhr
9 Kommentare
Neuester Kommentar

Normales Verhalten!
Das Datagridview ist Primär auf den Fokus von Datenbank-Anwendungen getrimmt bei denen in Update erst dann geschieht wenn die Zeile commitet (abgespeichert) wird, denn man kann im Datagridview auch alle Änderungen einer Zeile rückgängig machen (discard changes).
Man kann den Status jeder Zeile Abfragen ob sie Dirty ist. Schau dir im MSDN einfach mal die vielfältigen Eigenschaften und Evnts an die das DGV liefert.
https://msdn.microsoft.com/de-de/library/system.windows.forms.datagridvi ...
Gruß jodel32
Das Datagridview ist Primär auf den Fokus von Datenbank-Anwendungen getrimmt bei denen in Update erst dann geschieht wenn die Zeile commitet (abgespeichert) wird, denn man kann im Datagridview auch alle Änderungen einer Zeile rückgängig machen (discard changes).
Man kann den Status jeder Zeile Abfragen ob sie Dirty ist. Schau dir im MSDN einfach mal die vielfältigen Eigenschaften und Evnts an die das DGV liefert.
https://msdn.microsoft.com/de-de/library/system.windows.forms.datagridvi ...
Gruß jodel32

Genauer gesagt diese Eigenschaft hier ist dein Freund:
DataGridView.IsCurrentRowDirty-Eigenschaft
DataGridView.IsCurrentRowDirty-Eigenschaft

Muss ich wach bleiben
? Duck und wech ....

Such mal nach
xml serialization datagridview
Dann kannst du dir deine Schleifchen sparen wenn es nur darum geht den Inhalt eines DGV in eine XML zu pressen oder zu Laden.
xml serialization datagridview
Dann kannst du dir deine Schleifchen sparen wenn es nur darum geht den Inhalt eines DGV in eine XML zu pressen oder zu Laden.