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!

Rispondi quotando