impostare colore sfondo di ogni cella di una datagridview

Saerio

Nuovo Utente
23 Dic 2015
1
0
0
Ciao.
Vorrei impostare il colore di sfondo di ogni cella di una datagridview in base al valore della variabile appartenente alla matrice con gli stessi indici.
Il mio tentativo:
Codice:
Public Sub riempiTabella()
        With (DataGridView1)
            'Imposto Numero righe e colonne.
            .RowCount = YMappa
            .ColumnCount = XMappa
            'scorro gli indici
            For j = 0 To XMappa - 1
                For i = 0 To YMappa - 1

                    ' imposto output cella
                    If caselle(i, j, 0) = casellemax Then
                        .DefaultCellStyle.BackColor = Color.GreenYellow
                        .AlternatingRowsDefaultCellStyle.BackColor = Color.GreenYellow
                        .DefaultCellStyle.SelectionBackColor = Color.GreenYellow


                    ElseIf caselle(i, j, 0) = 0 Then
                        .DefaultCellStyle.BackColor = Color.Black
                        .AlternatingRowsDefaultCellStyle.BackColor = Color.Black
                        .DefaultCellStyle.SelectionBackColor = Color.Black


                    Else
                        .DefaultCellStyle.BackColor = Color.DarkGreen
                        .AlternatingRowsDefaultCellStyle.BackColor = Color.DarkGreen
                        .DefaultCellStyle.SelectionBackColor = Color.DarkGreen
                    End If


                Next i
            Next j
        End With
Fuori dal ciclo For..Next le tre righe fanno quello che mi aspetto. Non capisco perchè non funzioni, tra l'altro quando lo avvio si vede che fatica... se al posto delle tre righe per il backgrond delle celle metto:
Codice:
.Item(i, j).Value = caselle(i, j, 0)
Visualizza correttamente all'interno di ogni casella il valore che mi aspetto e non rallenta visibilmente come col codice background.

Grazie in anticipo!