Newsgroup: it.comp.lang.visual-basic
Titolo: AIUTO VI PREGO

Sto creando un programma per archiviare tutti i clienti,e nel form di ogni
cliente, ho inserito una flex grid dove registrare i vari acquisti.
Come posso fare in modo che l'utente possa scrivere nella flex grid,visto
che in fase di esecuzione non è possibile,e poi siccome i dati del cliente
verrano inseriti in un database,come trasferire i vari dati delle celle del
flex grid?
grazie

Roberto Pazzini ha scritto nel messaggio
<01bd8baf$295f6fe0$ee826ec3@default>...

La scrittura nella Flexgrid e l'aggiornamento del database sono procedure un
po' complicate rispetto a quello che mi sembra di capire tu voglia fare.
Infatti la Flex è nata più per la visualizzazione che per l'inserimento dei
dati; per questo motivo ti consiglio l'uso della DBGrid al posto della
MSFlexGrid.
Se vuoi invece continuare ad usare la Flex per l'inserimento devi usare un
Textbox che di volta in volta viene reso visibile e sovrapposto alla cella
corrente; ci sono degli esempi nella documentazione in linea di VB5.
Ciao,
   <--< Nik >-->

Ciao!
Se hai il VB5 originale, sul manuale dei "Guida dei componenti" c'e' un
bellissimo e semplicissimo esempio. Di trascriverlo.. scus.. non ho tempo,
ma ti dico, sostanzialmente, che devi utilizzare una textbox da sovrapporre
alla cella selezionata della MsFlexGrid, passando il contenuto (da e verso
la MsFlexGrid) tramite l'istruzione
MsFlexGrid1.TextArray(ElementoMatriceDellaGriglia)... vabbe'...è un casino,
dovrei spiegarti come distinguere gli elementi della matrice della
griglia...  :-))) Sara' meglio che ti allego un paio di righe di programma,
altrimenti non ci arrivi piu'.. :-)))
'spetta che vado a copiare qualcosa da qualche parte....
Ecco...
Function Fgi(r As Integer, c As Integer, Oggetto as Control) As Integer
  Fgi = c + Oggetto.Cols * r
End Function
Allora... Questa è la funzione (quella consigliata da Micro$fot sul
manualazzo con l'aggiunta del Control per utilizzarla con qualunque griglia)
che ti restituisce il numero corrispondente all'elemento della matrice che
contiene i dati presenti sulla griglia, in modo da poterlo utilizzare
intuitivamente con l'istruzione TextArray di MsFlexGrid.
La usi in questo modo: ContenutoCella = Griglia.TextArray(Fgi(Riga, Colonna,
Griglia))
dove:
-ContenutoCella (ovviamente) è cio' che ti viene restituito
-Griglia è il nome della MsFlexGrid che stai utilizzando nel tuo programma
-Riga è il numero che distingue la riga che contiene la cella che ti
interessa
-Colonna è il numero che distingue la colonna che contiene la cella che ti
interessa
Ovviamente il TextArray(n) puoi utilizzarlo non solo per prelevare anche per
scrivere i dati nella griglia. Quindi...
'imposti 4 colonne
Griglia.Cols = 4
'scrivi nelle 4 colonne della prima riga in alto (diciamo...
nell'intestazione)
Griglia.TextArray(Fgi(0,0,Griglia)) = "Nome"
Griglia.TextArray(Fgi(0,1,Griglia)) = "Cognome"
Griglia.TextArray(Fgi(0,2,Griglia)) = "Indirizzo"
Griglia.TextArray(Fgi(0,3,Griglia)) = "Età"
'Scrivi nelle 4 colonne della seconda riga (i dati del cliente ecc..)
Griglia.TextArray(Fgi(0,0,Griglia)) = "Mario"
Griglia.TextArray(Fgi(0,1,Griglia)) = "Rossi"
Griglia.TextArray(Fgi(0,2,Griglia)) = "via Le Mani dal Naso n.1"
Griglia.TextArray(Fgi(0,3,Griglia)) = "99"
Fin qui tutto normale... Poi ci sono tanti trucchetti... ma faccio prima a
scriverti il programma :-)))
Ciao!
--
Ah... dimenticavo!
Vi segnalo questo sito
http://www.ilsole24ore.it/premiowww/
presso il quale DOVETE votare il sito di MioMao :-)))
..'azzie!
-----------------------------------------
Andrea Varisco as MioMao
Paderno Dugnano  - Italy
Email: 
mio...@digibank.it
MioMaoCasaPagina: 
http://www.digibank.it/miomao
-----------------------------------------
TimeHomePage 
http://www.digibank.it/time

Scusa.. ho dimenticato di cambiare "riga"...
Le istruzioni corrette sono queste...
'Scrivi nelle 4 colonne della seconda riga (i dati del cliente ecc..)
Griglia.TextArray(Fgi(1,0,Griglia)) = "Mario"
Griglia.TextArray(Fgi(1,1,Griglia)) = "Rossi"
Griglia.TextArray(Fgi(1,2,Griglia)) = "via Le Mani dal Naso n.1"
Griglia.TextArray(Fgi(1,3,Griglia)) = "99"
e cosi' via...
Ciaooooooooo
