View Full Version : [Vb.Net]Non riesco a farmi restituire un valore
RaouL_BennetH
16-07-2008, 13:06
Ciao a tutti :)
Allora:
Function GetCellDoubleValue(ByVal i as Integer) As Double
dim d as double = 0.0
for each r as datagridviewrow in mygrid.rows
if not isnothing(r.cells(i).value) then
d = r.cells(i).value
return d
next
Ora, supponiamo che io abbia una griglia con 20 righe, con quella funzione mi restituisce solo il valore della prima cella, per esempio se:
'click
GetCellDoubleValue(5)
se nella cella 5 c'è il valore 2,75 della prima riga me lo restituisce
poi, se nella cella 5 della seconda riga c'è il valore 4,59, mi da sempre 2,75.
Dove sbaglio?
Grazie :)
RaouL.
^TiGeRShArK^
16-07-2008, 13:26
:mbe:
e qual'è il problema? :stordita:
per come hai scritto il codice ti restituisce il primo valore della griglia che non è null...
non è questo che vuoi? :fagiano:
RaouL_BennetH
16-07-2008, 13:33
:mbe:
e qual'è il problema? :stordita:
per come hai scritto il codice ti restituisce il primo valore della griglia che non è null...
non è questo che vuoi? :fagiano:
Eh no :fagiano:
mi deve restituire il valore di quella cella per ciascuna riga della griglia (se non è nullo ovviamente)
cioè:
1 Riga Cella5 = 15,76
2 Riga Cella5 =
3 Riga Cella5 = 7,9
Mi aspettavo di avere 15,76 e 7,9 e non due volte 15,76 :(
^TiGeRShArK^
16-07-2008, 13:41
mmm..
non può funzionare così allora :p
o ti fai ritornare un'array o una lista contenente i valori di tutte le celle i-esime oppure passi oltre all'indice della colonna anche quello della riga...
RaouL_BennetH
16-07-2008, 14:20
mmm..
non può funzionare così allora :p
o ti fai ritornare un'array o una lista contenente i valori di tutte le celle i-esime oppure passi oltre all'indice della colonna anche quello della riga...
uhm scusami ma non riesco a capire:
Perchè dovrebbe ritornarmi un solo valore se io all'interno della funzione ciclo per tutte le righe della griglia?
^TiGeRShArK^
16-07-2008, 14:24
perchè fai un return del primo valore non nullo ed esci dal metodo restituendo quello... :fagiano:
RaouL_BennetH
16-07-2008, 15:08
perchè fai un return del primo valore non nullo ed esci dal metodo restituendo quello... :fagiano:
:doh:
anyway:
Function TestCellValue(ByVal columnIndex as Integer, rowIndex as Integer) As Double
If Not IsNothing(grid(columnIndex, rowIndex).Value) Then
Dim d as Double = grid(columnIndex, rowIndex).Value
Return d
End If
End Function
'poi dalla classe:
For i As Integer = 0 To dgvDip.Rows.Count - 1
TestCellValue(5, i)
Next
'blabla
La dritta sul passaggio di colonna e riga è stata fondamentale :D
Grazie mille .
RaouL.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.