C# DataGridViewCheckBoxColumn Verstecken/Graues-Out
Ich habe eine DataGridView
mit mehreren Spalten und mehreren Reihen von Daten. Eine der Spalten ist eine DataGridViewCheckBoxColumn
und (auf der Grundlage der anderen Daten in der Zeile) möchte ich die option "verstecken" - checkbox in einigen Zeilen. Ich weiß, wie man es nur Lesen aber ich würde es vorziehen, es nicht zu zeigen, bis auf allen, oder zumindest anders dargestellt (ausgegraut), als Sie die anderen Kontrollkästchen. Ist das möglich?
InformationsquelleAutor john | 2011-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einige Problemumgehung: stellen Sie read-only und ändern wieder die Farbe Grau.
Für eine bestimmte Zelle:
Oder, besser aber mehr "komplizierte" Lösung:
angenommen, Sie haben 2 Spalten: die erste Zahl, die zweite mit der checkbox, dass nicht sichtbar sein soll, wenn die Zahl > 2. Sie Griff
CellPainting
Ereignis, malen Sie nur die Grenzen (und zB. hintergrund) und brechen die Malerei der rest. Fügen Sie Ereignis -CellPainting
für DataGridView (Optional test für DBNull-Wert zu vermeiden, Ausnahme beim hinzufügen von neuen Daten in die leere Zeile):Sollte es aber funktionieren, wenn Sie ändern Sie den Wert manuell in der ersten Spalte, wo Sie Bedingung, Sie müssen aktualisieren Sie die zweite Zelle, so fügen Sie ein weiteres Ereignis wie
CellValueChanged
:InformationsquelleAutor mj82
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcheckboxcell.aspx
Edit: Oh, warten Sie, es ist nur Lesen. Derp.
In dem Fall, ersetzen Sie die Zelle mit einem leeren DataGridViewTextBoxCell.
Visible
-Eigenschaft ist schreibgeschützt.InformationsquelleAutor Polynomial
Entnommen Anpassen der Darstellung von Zellen in der Windows Forms DataGridView-Steuerelement, Sie fangen konnte, das CellPainting-Ereignis und nicht ziehen Sie die Zelle, wenn die in nur-lese-Modus. Zum Beispiel:
Die einzige Einschränkung ist, dass Sie aufrufen müssen
dataGridView1.Invalidate();
wenn Sie ändern dieReadOnly
- Eigenschaft eines derDataGridViewCheckBox
Zelle.InformationsquelleAutor SwDevMan81