Buonasera a tutti
ho una funzioncina che mi genera una stringa con un colore rgba casuale.
Questa funzioncina la lancio in un ciclo nel quale sfoglio un datatable e assegno ad ogni record un colore rgba diverso.
Bene, mi succede che se eseguo in debug i vari passi del ciclo va tutto bene e trovo in ogni record del datatable un colore diverso ma quando gira per conto suo trovo in datatable tutti i record lo stesso colore...
Che ho scritto un ciclo "col ciclo"?
codice:
protected sub sfoglia(byref dtt as datatable)
For Each row In dtt.Rows
row!opcolore = HexColGenerator(0.3)
Next
end sub
Public Shared Function HexColGenerator(ByVal Optional alpha As Decimal = 1) As String
Dim intR, intG, intB As Integer
Dim RandomClass As New Random()
Dim strColor As String = ""
intR = RandomClass.Next(0, 256)
intG = RandomClass.Next(0, 256)
intB = RandomClass.Next(0, 256)
RandomClass = Nothing
If alpha < 1 Then
strColor = "rgba(" & intR.ToString & "," & intG.ToString & "," & intB.ToString & "," & Int(alpha * 255).ToString & ")"
Else
Dim hexR, hexG, hexB As String
hexR = intR.ToString("X").PadLeft(2, "0"c)
hexG = intG.ToString("X").PadLeft(2, "0"c)
hexB = intB.ToString("X").PadLeft(2, "0"c)
strColor = "#" & hexR & hexG & hexB
End If
intR = Nothing
intG = Nothing
intB = Nothing
Return strColor
End Function