Italian Raggruppare i dati e visualizzarli in un grafic

Nikeddy

Active Member
Licensed User
infatti mi esce

mesivalori(mi)=m.get(mi)
formatexception: for input string :"null"
e non so una if per cercare se vuoto di saltare?
 

Star-Dust

Expert
Licensed User
infatti mi esce

mesivalori(mi)=m.get(mi)
formatexception: for input string :"null"
e non so una if per cercare se vuoto di saltare?

B4X:
For i = 0 To macchine.Size - 1
  Try
        Dim m As Map
        m = macchine.Get(i)
        Dim tl As TwoLines
        tl.First = m.Get("data")
        formatnumero  = m.Get("totale")
        gennaio = m.Get(0)
        febbraio = m.Get(1)
        marzo = m.Get(2)
        grafico
        tl.Second = formatnumero
        ListView3.AddTwoLines2(tl.First, tl.Second, tl)
    Next
  Catch
    Log(LastException.Message)
  End Try
Next
oppure
B4X:
    For i = 0 To macchine.Size - 1
        Dim m As Map
        m = macchine.Get(i)
        Dim tl As TwoLines
        tl.First = m.Get("data")
        formatnumero  = m.Get("totale")
        If m.Get(0)<>Null Then
            gennaio = m.Get(0)
            febbraio = m.Get(1)
            marzo = m.Get(2)
            grafico
            tl.Second = formatnumero
            ListView3.AddTwoLines2(tl.First, tl.Second, tl)
        End If
    Next


Ma sicuramente hai fatto un errore nel caricamento dei dati, facci vedere la procedure dove riempi le Map
 

XorAndOr

Active Member
Licensed User
Longtime User
infatti mi esce

mesivalori(mi)=m.get(mi)
formatexception: for input string :"null"
e non so una if per cercare se vuoto di saltare?

Ho fatto un test sul mio server online e con questo codice allegato ho il risultato come da foto allegata e con il codice allegato.
B4X:
Private Gennaio As Int ' Sub global
Private Febbraio As Int' Sub global
Private totale As String' Sub global
'-----------------------------------------------

Case containcassopark ' <-----------Sub nel JobDone
      
    ListView3.Clear
      
    Dim Valori As List
    Valori.Initialize
      
    Dim macchine As List
        Dim formatnumero As Double
        macchine= parser.NextArray
        For i = 0 To macchine.Size - 1
            Dim m As Map
            m = macchine.Get(i)
            Dim tl As TwoLines
            tl.First = m.Get("data")
            formatnumero  = m.Get("totale")
            tl.Second = formatnumero
            ListView3.AddTwoLines2(tl.First, tl.Second, tl)
            totale = m.Get("totale")
            Valori.Add(totale)
          
        Next
      
        Gennaio = Valori.Get(0)'
        Febbraio = Valori.Get(1)'

'----------------------------------
'      Aggiungi gli altri mesi
'...............................................
'       Marzo    = Valori.Get(2)'
'       Aprile.......................
'       Ecc.........................
  
    grafico '-----> sub

chart.png
 
Last edited:

Star-Dust

Expert
Licensed User
Mi sembra funzioni

PS Marzo=Valori. Get(2) non Get(3) prenderesti aprile e genera l'errore null nel caso sia vuoto
 

XorAndOr

Active Member
Licensed User
Longtime User
Si hai ragione. Ma il mio test è stato con 2 soli mesi, mi scocciava provare con 12 mesi. Infatti è commentato. Errore di battitura;)
 

Nikeddy

Active Member
Licensed User
rieccomi!

sulla sub grafico che metto?
mbc1.ChartData = MesiValori ?

oppure :
Array As Float(Gennaio, Febbraio, Marzo, ecc)
 

Nikeddy

Active Member
Licensed User
mi da errore main_grafico
BoundsException: lenght=2;index=2

correggo mi da errore su :
mbc1.BarData = 12 'this number must be the same as the number of elements in the above arrays
 

Nikeddy

Active Member
Licensed User
funziona alla perfezione! ho capito il problema.

ora mi rimane solo capire come gestire il "null" e se i mesi all'interno sono 3 o 6 non deve fare differenza!

mitici!!!!!!!!!!!!!!!!!!!!!!!
 
Last edited:
Top