J'ai joué avec un peu de datagridviews et une question a été soulevée. -> Ne modifie pas un arrière-plan de cellules à partir de l'événement CellFormatting. J'ai essayé ceci:Arrière-plan de la cellule dans un DataGridView
private void dataGridView1_CellFormatting(object sender, dataGridViewCellFormattingEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name.Equals(dnsList.First<String>()))
{
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
DataGridViewCell cell = row.Cells[e.ColumnIndex];
cell.Style.BackColor = Color.FromArgb(194, 235, 211);
}
}
qui fonctionne parfaitement, alors que ceci:
private void ApplyColoring()
{
if (dataGridView1.DataSource != null)
{
foreach (DataGridViewRow dataGridRow in dataGridView1.Rows)
{
DataGridViewCell cell = dataGridRow.Cells[dnsList.First<String>()];
cell.Style.BackColor = Color.FromArgb(194, 235, 211);
}
}
}
Debugging me dit que tout est son, null-référence ou tout-sauf-sage ... Des conseils?
Quand appelez-vous la méthode ApplyColoring? –
Je voudrais l'appliquer après la fin d'un BackgroundWorker. Donc, dans le contexteWorker_RunWorkerCompleted. Ce bgworker est exécuté via un bouton, j'ai donc essayé d'utiliser l'événement b_Click (..) avec les mêmes résultats (rien). – Oxymoron
Résolu en utilisant un délégué :) – Oxymoron