PDA

Visualizza la versione completa : Formattare FlexGrid [VB6]


lucabo
12-09-2002, 08:56
E' possibile formattare il testo all'interno di una flexgrid?
In pratica vorrei:

_ Cambiare il colore del testo di una sola colonna.
_ Assegnare il numero dei decimali dopo la virgola del testo in una colonna.

L'unica cosa che riesco a fare è assegnare la larghezza della colonna....

Qualcuno può aiutarmi?

Ciao
Grazie
Luca

ChReAn
12-09-2002, 09:31
Per il primo problema mi sa che l'unica soluzione e' fare un ciclo sulle righe

Se infatti provi questo codice:

with MSFlexGrid1
.Col = 1
for i = 0 to maxrow
.Row = i
.Text = "pino"
.CellForeColor = vbRed
next i
end with

Noterai che il colore del testo cambia su tutta la seconda colonna.
Per i decimali devi usare la format di vb.
Il mio personale consiglio e' di lasciare perdere la flexgrid di MS e passare a controlli piu' flessibili e professionali, come la TrueDBGrid ad esempio.
Dovresti trovarne parecchi in giro per la rete (www.componentsource.com e' un inizio).

lucabo
12-09-2002, 09:39
Ti ringrazio ma ho già impostato tutto sulla flexgrid.
Seguirò sicuramente il tuo consiglio con il prossimo lavoro ("lavoro" parola grossa!)
Potresti aiutarmi anche per il discorso dei decimali???

Ciao
Grazie

ChReAn
12-09-2002, 09:53
Usa la funzione format... Formatta il testo prima di impostarlo nella flexgrid.
Altrimenti intercetta la pressione dei tasti (con l'evento keypress) e formatta il testo durante la digitazione (ma questo e' gia' piu' impegnativo).

lucabo
12-09-2002, 09:59
Scusa l'ignoranza ma un esempio mi aiuterebbe parecchio

ChReAn
12-09-2002, 10:05
Beh potresti fare una cosa del genere:

Supponiamo che tu abbia un valore in una variabile m_var (che potrebbe anche essere una textbox o quant'altro):

MFlexGrid.Text = format (m_var, "#,##0.00")

In questo modo, se m_var vale 1342, nella griglia apparira' 1.342,00.

Credo che sia cio' che vuoi. Comunque la format e' molto ben documentata nell'MSDN, controlla sul sito MS per vedere tutte le possibilita' che offre (puoi usare vari "segnaposto" per le cifre, per le lettere ecc...), e per capire perche' ho usato degli zeri uniti a dei pound nella mia stringa di formattazione.

:ciauz:

lucabo
12-09-2002, 10:10
Grazie mille
Sei stato molto gentile!
Ciao
luca

Loading