salva94 (Normal User)
Rookie
Messaggi: 57
Iscritto: 02/01/2010
|
Allora innanzitutto vi dico che ho un Datagridview dove ci sono 31 Columns per indicare i giorni del mese e 12 Rows per indicare i mesi , adesso ho creato un ulteriore colonna intitolata : Totale , la quale come dice il nome mi dovrebbe dare il risualtato delle varie celle per ogni mese , quindi ho fatot questo code :
Codice sorgente - presumibilmente VB.NET |
For month1 As Integer = 0 To 30 Try DataGridView1.Item(31, month1).Value = DataGridView1.Item(0, month1).Value + +DataGridView1.Item(1, month1).Value + +DataGridView1.Item(2, month1).Value + +DataGridView1.Item(3, month1).Value + +DataGridView1.Item(4, month1).Value + +DataGridView1.Item(5, month1).Value + +DataGridView1.Item(6, month1).Value + +DataGridView1.Item(7, month1).Value + +DataGridView1.Item(8, month1).Value + +DataGridView1.Item(9, month1).Value + +DataGridView1.Item(10, month1).Value + +DataGridView1.Item(11, month1).Value Catch ex As Exception End Try month1 = month1 + 1 Next
|
Come potete vedere ho utilizzato il ciclo For per velocizzare il lavoro , pultroppo non so perchè il ciclo prende in considerazione solamente le Rows Dispari , mentre nelle
pari non mi esce alcun risultato
|
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Ma i mesi devono andare da 0 a 11 e stai già usando il ciclo per incrementarli!!
Togli month1 = month1 + 1
E metterei un ciclo da 0 a 30 per le colonne.
Ultima modifica effettuata da Alfonso il 20/07/2010 alle 18:29 |
|
salva94 (Normal User)
Rookie
Messaggi: 57
Iscritto: 02/01/2010
|
infatti vanno da 0 a 30 , ho solamente messo così la variabile con il nome month1 , ma non sta ad indicare i mesi
|
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Postato originariamente da salva94:
ho solamente messo così la variabile con il nome month1 , ma non sta ad indicare i mesi |
Però:
DataGridView1.Item(31, month1).Value = ....
Postato originariamente da salva94:
ci sono 31 Columns per indicare i giorni del mese e 12 Rows per indicare i mesi
|
31 è la colonna (il Totale), month1 è la riga (il mese)
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da salva94:
infatti vanno da 0 a 30 , ho solamente messo così la variabile con il nome month1 , ma non sta ad indicare i mesi |
Il ciclo For incrementa automaticamente la variabile contatore, altrimenti sarebbe inutile. Tu la incrementi ulteriormente dentro al ciclo, così ottieni che consideri solo gli indici pari (e quindi i mesi dispari). Riscrivi il tutto come:
Codice sorgente - presumibilmente VB.NET |
For month1 As Integer = 0 To 30 Try Dim Total As Single = 0 For I As Integer = 0 To 11 Total += DataGridView1.Item(I, month1).Value Next DataGridView1.Item(31, month1).Value = Total Catch ex As Exception End Try Next
|
|
|
salva94 (Normal User)
Rookie
Messaggi: 57
Iscritto: 02/01/2010
|
Postato originariamente da Il Totem:
Postato originariamente da salva94:
infatti vanno da 0 a 30 , ho solamente messo così la variabile con il nome month1 , ma non sta ad indicare i mesi |
Il ciclo For incrementa automaticamente la variabile contatore, altrimenti sarebbe inutile. Tu la incrementi ulteriormente dentro al ciclo, così ottieni che consideri solo gli indici pari (e quindi i mesi dispari). Riscrivi il tutto come:
Codice sorgente - presumibilmente VB.NET |
For month1 As Integer = 0 To 30 Try Dim Total As Single = 0 For I As Integer = 0 To 11 Total += DataGridView1.Item(I, month1).Value Next DataGridView1.Item(31, month1).Value = Total Catch ex As Exception End Try Next
|
|
Ti ringrazio , funziona , non sapevo che il cilco For si incrementasse da solo , un'altra cosa nel code non ho capito molto la funzione del "+=" Ultima modifica effettuata da salva94 il 21/07/2010 alle 9:46 |
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Total += DataGridView1.Item(I, month1).Value
+= aggiunge qualcosa alla fine della stringa, per essere più esplicito equivale a
Totale = Totale + DataGridView1.Item(I, month1).Value
|
|
salva94 (Normal User)
Rookie
Messaggi: 57
Iscritto: 02/01/2010
|
ok grazie a tutti , problema risolto
|
|
Il Totem (Admin)
Guru^2
Messaggi: 3635
Iscritto: 24/01/2006
|
Postato originariamente da Alfonso:
Total += DataGridView1.Item(I, month1).Value
+= aggiunge qualcosa alla fine della stringa, per essere più esplicito equivale a
Totale = Totale + DataGridView1.Item(I, month1).Value |
Total è un numero, comunque... + è l'operatore addizione, e il suo comportamento varia a seconda dei tipi tra cui è usato. |
|