impostare colore sfondo di ogni cella di una datagridview

Discussione in 'Visual Basic' iniziata da Saerio, 23 Dicembre 2015.

  1. Saerio

    Saerio Nuovo Utente

    Registrato:
    23 Dicembre 2015
    Messaggi:
    1
    Mi Piace Ricevuti:
    0
    Punteggio:
    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!
     
  2. lucap.13

    lucap.13 Nuovo Utente

    Registrato:
    18 Gennaio 2016
    Messaggi:
    16
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
Sto caricando...

Condividi questa Pagina