So ändern Sie die Hintergrundfarbe eines listview-subitem mit eigenen Wert
Wie kann ich programmgesteuert ändern Sie die Hintergrundfarbe einer einzelnen Zelle in einem listview-Steuerelement über seinen eigenen Wert?
Die Werte in der ColorFlag Spalte Kam aus der Datenbank.
Hier ist mein code:
foreach(DataRow dr in _dataTbl.Rows)
{
_markOW = dr["Mark"].ToString();
_stock = dr["Stock"].ToString();
_SteelSectio = dr["SteelSection"].ToString();
_colo = (Int32)dr["Color"];
ListViewItem _lvi = new ListViewItem(_markOW);
_lvi.SubItems.AddRange(new string[]{_SteelSectio, _stock, _colo.ToString()});
_myListView.Items.Add(_lvi); }
Hier ist der code, ich habe versucht, ändern Sie die Hintergrundfarbe der Zellen:
for (int _i = 0; _i < _owLV.Items.Count; _i++)
{
_myListView.Items[_i].UseItemStyleForSubItems = false;
_myListView.Items[_i].SubItems[3].BackColor = Color.FromArgb(_colo);
}
Vielen Dank im Voraus
InformationsquelleAutor der Frage Rye | 2010-08-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich das beurteilen kann, der code sieht gut aus. Ich warf gerade zusammen eine schnelle Windows-Forms-Anwendung, und warf eine ListView auf die form mit zwei Spalten in der detail-Ansicht. Der folgende code funktioniert einwandfrei.
Ich würde versuchen, die Einstellung der Hintergrundfarbe, bevor Sie das Element hinzufügen. Es sieht auch wie Sie mit der Einstellung alle Elemente der gleichen Farbe, die ist wahrscheinlich nicht das, was Sie wollen.
InformationsquelleAutor der Antwort Josh
Werfen Sie einen Blick auf diese links:
C# ListView Details, Markieren Sie eine einzelne Zelle
Ändern der Farbe der Listen-Ansicht der Zelle mit C# (hat eine funktionierende Lösung)
Der entscheidende Punkt ist zu setzen:
Hierzu:
InformationsquelleAutor der Antwort Leniel Maccaferri