Frage

habe ich eine Datagridview mit vier Säulen. Die ersten drei sind wieder zurück als Array: rot, grün und blau. Alle Werte liegen zwischen 0 und 255. Ich programmatisch eine Spalte namens „Farbe“ hinzugefügt haben. Ich möchte die Hintergrundfarbe dieser Spalte den RGB-Inhalt zu reflektieren. Ich kann die RGB-Daten korrekt angezeigt werden, und den Debugger verwendet, wird die Hintergrundfarbe korrekt gegen die Eigenschaft festgelegt werden. Ich kann auch die Spalte Hintergrundfarbe gesetzt und es korrekt angezeigt. Ich habe versucht, die „Red“ Zelle Hintergrundfarbe einstellen und diese entweder nicht funktioniert.

Der folgende Code führt zu einer vollständig weißen Säule.

Hier ist mein Code:

        DataGridViewColumn DGC = new DataGridViewColumn();
        DGC.Name = "Colour";
        DGC.CellTemplate = new DataGridViewTextBoxCell();
        dgPallette.Columns.Add(DGC);
        foreach (DataGridViewRow DGR in dgPallette.Rows)
        {
            Color cellColor = Color.FromArgb(
                int.Parse(DGR.Cells["Red"].Value.ToString()), 
                int.Parse(DGR.Cells["Green"].Value.ToString()), 
                int.Parse(DGR.Cells["Blue"].Value.ToString()));
            DGR.Cells["Colour"].Style.BackColor = cellColor;
        }

Irgendwelche Ideen?

Vielen Dank im Voraus Jim

War es hilfreich?

Lösung

Manchmal finde ich, dass die Einstellung Farben in der Datagridview funktioniert nicht wie erwartet und der Rückgriff am Ende auf mit der DataGridView.CellFormatting Ereignis -. dies immer funktioniert der Trick, und ist recht einfach Ihren Kopf um

Oft Formatierungsprobleme entstehen, wenn das Gitter auf eine Datenquelle gebunden ist - vor allem, wenn Sie Sortierung ermöglichen. Dieses Ereignis überwindet das.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top