DataGridView1 colorare righe step 10

di il
12 risposte

DataGridView1 colorare righe step 10

Buonasera. Ho una dataGridView1 con 180 righe. Vorrei colorare la riga 10, 20, 30.....fino ad arrivare alla riga 180.
In visual basic è semplice, in c# è più difficile. Questo codice mi colora tutte le righe. Come va modificato?
for (int colore_riga = 10; colore_riga < 180; colore_riga++)
            {
                dataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;
            }

12 Risposte

  • Re: DataGridView1 colorare righe step 10

    Scusa in vbnet come faresti?

    colore_riga++

    aumenta la variabile di 1... ma tu devi aumentare di 10
  • Re: DataGridView1 colorare righe step 10

    In vb.net
    For colore_riga = 0 To 180 Step 10
    
                    DataGridView1.Rows(colore_riga).DefaultCellStyle.BackColor() = Color.Yellow
                    
                Next
    In c# come incremento di 10?
  • Re: DataGridView1 colorare righe step 10

    Prova con colore_riga+=10
  • Re: DataGridView1 colorare righe step 10

    Toki ha scritto:


    Prova con colore_riga+=10
    Già provato, non cambia nulla, mi colora tutte le righe.
  • Re: DataGridView1 colorare righe step 10

    Ovviamente deve essere

    colore_riga+=10

    ma dentro il ciclo in VBNET scrivi

    DataGridView1.Rows(colore_riga).DefaultCellStyle.BackColor() = Color.Yellow

    e in C#

    dataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;

    e sono cose diverse ... no?
  • Re: DataGridView1 colorare righe step 10

    oregon ha scritto:


    Ovviamente deve essere

    colore_riga+=10

    ma dentro il ciclo in VBNET scrivi

    DataGridView1.Rows(colore_riga).DefaultCellStyle.BackColor() = Color.Yellow

    e in C#

    dataGridView1.RowsDefaultCellStyle.BackColor = Color.Yellow;

    e sono cose diverse ... no?
    Mi da errore se metto la riga che c'è in vb.net. Mi sottolinea .Rows in rosso: CS1955 Non è possibile usare come metodo il membro non richiamabile 'DataGridView.Rows'.
  • Re: DataGridView1 colorare righe step 10

    Se usi C# devi sapere che la sintassi prevede le parentesi quadre e non le tonde per gli indici ... non si scrive codice senza conoscere le basi del linguaggio

    dataGridView1.Rows[colore_riga].DefaultCellStyle.BackColor = Color.Yellow;
  • Re: DataGridView1 colorare righe step 10

    Ho corretto così:
    for (int colore_riga = 0; colore_riga < 180; colore_riga +=10)
                {
                    dataGridView1.Rows[colore_riga].DefaultCellStyle.BackColor = Color.Yellow;
                }
    Adesso non mi da nessun errore. Però quando faccio il debug non esegue. Mi dice:

    System.ArgumentOutOfRangeException: 'Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione della raccolta.
    Nome parametro: index
  • Re: DataGridView1 colorare righe step 10

    Sei tu che hai impostato il criterio

    < 180

    Se ci sono meno righe io che ne so?

    Dovresti fermarti e studiare quello che fai.
  • Re: DataGridView1 colorare righe step 10

    Per gestire esattamente il numero di righe presenti, senza preoccuparti di dover sapere prima il numero, modifica il codice così:
    
                for (int colore_riga = 0; colore_riga < dataGridView1.Rows.Count - 1; colore_riga += 10)
                {
                    dataGridView1.Rows[colore_riga].DefaultCellStyle.BackColor = Color.Yellow;
                }
    
    Approfitto per consigliarti questo:
    1) se passi da VB a C# è normale avere problemi con la sintassi (e non solo) ma il ragionamento che c'è da fare dietro al codice, quello non cambia mai, qualsiasi linguaggio tu abbia usato, usi e userai.
    2) personalmente fa sempre piacere aiutare chi è in difficoltà, ma ci sono un sacco di esempi che puoi ricercare per capire come funziona la sintassi, ottenendo grandi benefici in termini di tempo (ci metti meno che a scrivere un post e non devi aspettare la risposta di qualche utente).

    Ciao e buono studio/lavoro,
    Claudio.
  • Re: DataGridView1 colorare righe step 10

    @drshark

    Grazie per la tua info. Ho risolto il problema. Il problema era che il codice lo avevo inserito sotto la riga:
    dataGridView1.Columns.Clear();

    Invece il codice va inserito dopo del codice che crea la tabella con i dati.
  • Re: DataGridView1 colorare righe step 10

    Prego, di nulla
Devi accedere o registrarti per scrivere nel forum
12 risposte