ich hab es ausprobiert, doch irgendwo hat sich jetzt ein fehler eingeschlichen.
darum versuche ich gerade den kompletten ausgabe bereich neu zu schreiben.
der fehler wird in diesem bereich ausgelöst:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex >= 0) { string ind = dataGridView1[4, e.RowIndex].Value.ToString(); if (ind == "blablabla") { e.CellStyle.BackColor = Color.DarkGray; } } } |
damit färbe ich die zeilen im dataGridView1 passend zum text, in der spalte mit dem index 4.
der fehler sagt so viel aus wie: "das bindingsource kann nicht auf sich selbst zu greifen".
da der fehler, trotz der selben daten, sporadisch auftaucht ist es etwas komisch.
genaue meldung im anhang.
alles andere läuft jetzt wie gewünscht.
ich poste bei gelegenheit, wie ich es gelöst habe.
-----nachtrag-----
ok, is aber auch klar wenn ich nur den e.RowIndex prüfe.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| if (e.ColumnIndex >= 0 && e.RowIndex >= 0 && e.RowIndex < dataTable1.Rows.Count) { string ind = dataTable1.Rows[e.RowIndex].ItemArray[4].ToString(); if (ind == " bla bla bla") { e.CellStyle.BackColor = Color.Green; } if (ind == " müll") { e.CellStyle.BackColor = Color.Blue; } } |
das ist wohl besser dafür geeignet.
des weiteren hab ich blöderweise das dataGridView1 abgefragt noch bevor da daten drin waren.
jetzt frage ich dataTable1 ab wo die daten enthalten sind bevor sie im dataGridView1 angezeigt werden.
Moderiert von
Christian S.: Beiträge zusammengefasstFrage beantwortet.
--nachtrag--
sorry hab antworten geklickt anstelle Edit. naja bei der Uhrzeit ...

sind wie ein wissenschaftliches Experiment. Sie