Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C#] - foreach + posizione elemento corrente

    Salve ragazzi, chi mi aiuta?

    Come faccio ad aggiornare l'indice della riga:

    codice:
                foreach(Esame _e in this.studente.piano.ListaEsami)
                {
                    //Scrivo sempre e solo in riga 0... devo iterare le righe... ma che indice posso usare?
                    this.dataGridView1.Rows[0].Cells[0].Value = _e.NomeEsame;
                    this.dataGridView1.Rows[0].Cells[1].Value = _e.Voto;
                    this.dataGridView1.Rows[0].Cells[2].Value = _e.CFU;
                    this.dataGridView1.Rows[0].Cells[3].Value = _e.Data;
                    this.dataGridView1.Rows[0].Cells[4].Value = _e.Attivazione;
                }

  2. #2
    O usi un "for" normale (non un foreach) o aggiungi un contatore in questo modo:
    codice:
    int c=0;
    foreach(Esame _e in this.studente.piano.ListaEsami)
    {
        //Scrivo sempre e solo in riga 0... devo iterare le righe... ma che indice posso usare?
        this.dataGridView1.Rows[c].Cells[0].Value = _e.NomeEsame;
        this.dataGridView1.Rows[c].Cells[1].Value = _e.Voto;
        this.dataGridView1.Rows[c].Cells[2].Value = _e.CFU;
        this.dataGridView1.Rows[c].Cells[3].Value = _e.Data;
        this.dataGridView1.Rows[c].Cells[4].Value = _e.Attivazione;
        c++;
    }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    OK grazie!

    E se volessi invece salvare i dati inseriti a run-time? Cioè io ho un dataGridView, e voglio creare per ogni riga un elemento di un ArrayList, cioè per ogni riga dovrei fare una cosa tipo

    codice:
    ArrayList L;
    //ovviamente questo sarà in un for, perchè a me servono tutte le righe
    L.Add( new Esame( s1, s2, s3, s4, s5) ); // dove s1,..,s5 sono i valori delle celle del datagridview
    Non ci riesco proprio... Mi da sempre nullPointerException...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da Vincent
    Non ci riesco proprio... Mi da sempre nullPointerException...
    Forse perchè, dal codice che hai postato, tu dichiari solo l'oggetto L ArrayList, ma non lo crei... non c'è l'istruzione new per l'allocazione dell'oggetto, quindi richiami il metodo Add() su un oggetto nullo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    ma era solo per far capire.... non è il codice preciso...

    se faccio così funziona:
    codice:
    this.studente.piano = new PianoDiStudio();
                this.studente.piano.ListaEsami = new ArrayList();
    
    
                this.studente.piano.ListaEsami.Add(new Esame("Programmazione A", "6", "22", "22/07/2005", "I"));
                this.studente.piano.ListaEsami.Add(new Esame("Programmazione B", "6", "22", "22/07/2005", "III"));
                this.studente.piano.ListaEsami.Add(new Esame("Programmazione C", "6", "22", "22/07/2005", "III"));
                this.studente.piano.ListaEsami.Add(new Esame("Programmazione D", "6", "22", "22/07/2005", "III"));
    
                this.studente.piano.Salva("Prova.xml");
    ma io i dati li devo prendere dal Controllo dataGridView... come si fa?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Continua l'altra discussione. E' inutile continuare due discussioni per lo stesso problema.

    Lascio aperta questa per l'argomento "foreach + posizione elemento corrente".


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Hai ragione, sorry parlando parlando non mi sono reso conto... GRAZIE!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.