Hallo,
Ich habe eine DGV die an Daten gebunden ist. Dazu gehören auch drei Boolsche Werte.
Ich habe mir eine sub zusammengebastelt die jede Row der DGV durchlaufen soll. Je nach Wert von "Ring variabel" soll die BackColor und Readonly von "Ring fest" und "Ring schwebend" geändert werden.
Also wenn "Ring variabel" = true -> "Ring fest" und "Ring schwebend" = Grau & jeweils Readonly = true
wenn "Ring variabel" = true -> "Ring fest" und "Ring schwebend" = Rot & jeweils Readonly = false
Ich lass mir zur Zeit die eigenschaften über die Konsole ausgeben und da sieht auch alle gut aus. Nur ist das Ergebniss nicht das was man (Ich) erwartet habe. Erst wenn ich die DGV nochmal anklicke, ändert sich es und alles ist so wie gewollt (siehe Anhang).
Auch das neu zeichnen am ende bringt überhaupt nichts..
Hier der code..:
Würde mich freuen wenn Ihr mir helfen könnt
Gruß
Edit: Das kommt bei der Consolenausgabe heraus (vor dem klick in eine Zelle):
True. Index: 0
False. Index: 1
True. Index: 0
False. Index: 1
False. Index: 2
True. Index: 0
False. Index: 1
True. Index: 0
False. Index: 1
False. Index: 2
True. Index: 0
False. Index: 1
Passt ja eigentlich!!
Ich habe eine DGV die an Daten gebunden ist. Dazu gehören auch drei Boolsche Werte.
- Ring variabel
- Ring fest
- Ring schwebend
Ich habe mir eine sub zusammengebastelt die jede Row der DGV durchlaufen soll. Je nach Wert von "Ring variabel" soll die BackColor und Readonly von "Ring fest" und "Ring schwebend" geändert werden.
Also wenn "Ring variabel" = true -> "Ring fest" und "Ring schwebend" = Grau & jeweils Readonly = true
wenn "Ring variabel" = true -> "Ring fest" und "Ring schwebend" = Rot & jeweils Readonly = false
Ich lass mir zur Zeit die eigenschaften über die Konsole ausgeben und da sieht auch alle gut aus. Nur ist das Ergebniss nicht das was man (Ich) erwartet habe. Erst wenn ich die DGV nochmal anklicke, ändert sich es und alles ist so wie gewollt (siehe Anhang).
Auch das neu zeichnen am ende bringt überhaupt nichts..
Hier der code..:
Quellcode
- Private Sub ZelleDataGridView_RingZelle2(sender As Object, e As EventArgs) Handles ZelleDataGridView.SelectionChanged ', ZelleDataGridView.RowsRemoved, ZelleDataGridView.CellClick
- Dim RSchwebendCell As DataGridViewCell
- Dim RFestCell As DataGridViewCell
- For Each ZelleRow As DataGridViewRow In ZelleDataGridView.Rows 'Row als Variable "ZelleRow"
- RSchwebendCell = ZelleRow.Cells("Ring_Schwebend")
- RFestCell = ZelleRow.Cells("Ring_Fest")
- If ZelleRow.Cells("Ring_Variabel").Value Then
- RSchwebendCell.Value = False
- RSchwebendCell.ReadOnly = True
- RSchwebendCell.Style.BackColor = Color.Gray
- RFestCell.Value = False
- RFestCell.ReadOnly = True
- RFestCell.Style.BackColor = Color.Gray
- Console.Write("True. Index: ")
- Console.WriteLine(ZelleRow.Index)
- Else
- RSchwebendCell.ReadOnly = False
- RSchwebendCell.Style.BackColor = Color.Red
- RSchwebendCell.ReadOnly = False
- RFestCell.ReadOnly = False
- RFestCell.Style.BackColor = Color.Red
- RFestCell.ReadOnly = False
- Console.Write("False. Index: ")
- Console.WriteLine(ZelleRow.Index)
- End If
- ZelleDataGridView.Invalidate()
- Next
- End Sub
Würde mich freuen wenn Ihr mir helfen könnt
Gruß
Edit: Das kommt bei der Consolenausgabe heraus (vor dem klick in eine Zelle):
True. Index: 0
False. Index: 1
True. Index: 0
False. Index: 1
False. Index: 2
True. Index: 0
False. Index: 1
True. Index: 0
False. Index: 1
False. Index: 2
True. Index: 0
False. Index: 1
Passt ja eigentlich!!
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ludl8615“ ()