Sei un fuoriclasse... Grazie, Massimo...
Approfitto per chiedere un'altra cosa...
Ho un database con una colonna <Importo>
Voglio fare la somma della colonna <Importo>... Tu dirai: E che ci
vuole? Si... Infatti.
Il problema riguarda la formattazione dei numeri che sono reali con
due decimali, come si conviene alla nostra valuta.
Allora...
Se formatto 1.234,00 faccio le somme correttamente, ma quando
ordino 1200, viene dopo 12 e non dopo 600, cioe' 12, 1200, 600
Se formatto 1,234.00 ordino correttamente ma ho problemi con le somme.
Naturalmente se da sistema cambio le formattazioni, utilizzando
quelle USA, tutto torna a posto... Ma non e' naturale.
Cosa fare e... come?
Grazie e a presto.
Lucio
Il giorno 17/gen/07, alle ore 00:00, Massimo Valle ha scritto:
On 16/gen/07, at 22:57, Lucio Liberi wrote:
Mi rispondo da solo...
Allora. Non si puo' fare niente, a meno che... a meno che, non si
fissino le dimensioni delle colonne
in modo definitivo e si lasci lo spazio per la scrollbar.
listbox larga 500 pti
allora bisogna fissarla in 500-16=484 pti.
Se qualcuno ha un'idea migliore, si faccia avanti...
Ciao a tutti.
Mai rispondersi da soli. Il meglio che si riesca a fare e
confermare le proprie ipotesi.
Infatti ci sono almeno due modi per fare quello che vuoi.
1. Impostando la proprietà AutoHideScollbars = false, la scrollbar
è sempre visibile e non hai bisogno di spostare il totale.
2. La proprietà ListBox.DefaultRownHeight ti può dire l'altezza di
una riga. Per fare ciò devi però impostarla tu a un valore definito
perchè il default è -1. Una volta impostata (ad esempio a 18),
misurata l'altezza dell'header (se usato), tu puoi fare una
semplice divisione. L'altezza della Listbox - la dimensione
dell'header / l'altezza delle righe ti dice quante righe sono
visibili. Ottenuto questo dato che chiamiamo N tu sai che quando la
listbox ha più di N righe la scrollbar diventa visibile e devi
spostare il totale.
Come fare a monitorare il numero di righe: semplicemente crea una
sottoclasse di Listbox e fai l'override del metodo AddRow. Qualcosa
del genere:
Sub AddRow(item as String)
Super.AddRow item
if me.listCount > NUMERO_RIGHE_VISIBILI then
StaticText.left = StaticText.left -16
end if
End Sub
Dovrai fare l'override anche degli altri metodi che agiscono sul
numero di righe (InsertRow, RemoveRow, DeleteAllRows, ecc.)
Non ho provato ma dovrebbe funzionare.
Ciao
Massimo Valle
Chiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
|