Flexgrid

di il
1 risposte

Flexgrid

Ciao a tutti (sono alle prime armi) e' la prima volta che posto.
Il mio problema e' questo avendo fatto un'istruzione for per formare tutti i 4005 ambi,
vorrei visualizzarli in una flexgrid nella prima colonna, nella seconda colonna
vorrei visualizzare le frequenze. Io ho provato cosi' ma mi vede tutto su una colonna:
For i = 1 To 89
For j = i + 1 To 90
....Istruzione sql
msgrid.cols=2
msgrid.col=0
MSgrid.AddItem CStr(i) & "-" & CStr(j)
msgrid.col=1
msgrid.Additem Data1.Recordset.RecordCount

come posso fare? grazie a tutti

1 Risposte

  • Re: Flexgrid

    Ciao,
    è da tanto che nn uso la flexGrid, ma posso provare a darti qualche suggerimento. Intanto puoi spostare l'istruzione msgrid.cols=2 fuori dai 2 for. Questa istruzione infatti serve a specificare il numero di colonne della tabella.
    Invece del metodo additem puoi usare il metodo text. In questo modo scrivi il tuo valore nella riga e colonna che specifichi. Per fare ciò ovviamente devi inserire anche all'inizio il numero di righe totali (prima dei 2 for) e ad ogni iterazione. E nel primo for inserisci il codice per spostarti alla riga successiva. Quindi, riassumendo ti posto in pseudo codice quello che dovresti fare:

    può essere che non sia preciso il calcolo sugli indici di accesso della tabella, ma in linea di principio il procedimento giusto è quello.
    
    msgrid.rows = 1+2+...+89
    msgrid.cols = 2
    
    for i = 1 to 89
       for j = i + 1 to 90
          msgrid.row =((i - 1) * (89 - i)) + i + j   'mi metto nella riga (i+j)-esima della tabella
          msgrid.col = 0
          msgrid.text = [metto il dato nella colonna 0]
    
          msgrid.col = 1
          msgrid.text = [metto il dato nella colonna 1]
    
    
    Spero di esserti stato di aiuto,
    Intel
Devi accedere o registrarti per scrivere nel forum
1 risposte