Newsgroup: it.comp.lang.visual-basic
Titolo: Popolare un DataGrid manualmente

Ciao a tutti....
nella mia politica di sostituzione dei DAO con ADO, mi sto scontrando con un 
piccolo problema.
Avevo utilizzato per visualizzare alcune tabelle, dei DataGrid con associati 
degli ADODC (non adodb).
Volendo uniformare il tutto e passare agli ADODB e niente altro, mi trovo 
nella difficolta di usare queste griglie dati.
Ho fatto l'bbinamente fra la tabella e il controllo ADODB, creando un 
recordset (chiamiamolo AdoRec) il quale lo assegno al controllo DataGrid 
come segue (nel form che ospita il controllo datagrid)
set DataGrid.DataSource = AdoRec
DataGrid.Refresh
poi subito dopo cerco di associare i record con le celle per visualizzare il 
contenuto del recordset....
with AdoRec
    .MoveFirst
    .PageSize = 150  ' Cerco di paginare i record perche sono molti e mi 
rallentano parecchio
    For ind = 1 to .PageSize
DataGrid.Columns(0).DataField = .Fields("Campo0")
..............................................................................-.
DataGrid.Columns(10).DataField = .Fields("Campo10")
.MoveNext
if .Eof then Exit For
Next ind
end with
Problema: come incremento le righe della griglia? Ho provato a valorizzare 
DataGrid.Row ma mi da errore....
Ho pensato anche che l'incremento dovesse essere automatico, come succede 
con ADODC che popolala la datagrid in automatico, ma non sono riuscito a 
fare l'abbinamento....
In poche parole mi stampa tutte le riche di record sulla prima...
Dove sbaglio?
Grazie a tutti
Emanuele
ps: Ho cercato su MSDN, ma della proprietą Row non ne parla...come non 
spiega neanche come fare la paginazione dei record letti dal recordset, ma a 
quella ci posso arrivare...

 piccolo problema.
Omonimo, non abbatterti.
Crea un recordset del quale fai .Open, con tutti i parametri del caso. 
Otterrai il tuo bel recordset con righe e colonne. A quuesto punto, 
supponendo tu abbia un controllo MSHierarchicalFlexGrid (aggiungilo nei 
componenti), che chiamerai MSH, fai così:
set MSH.Recordset = myNewRecordsetNuovoFiammanteCheBElloCheBello
A questo punto ti rimane solo di ridimensionare le colonne. Io ho 
trovato una procedura in rete, ma non l'ho a portata di mano.
Forza, ce la farai con ADO!
-- 
Emanuele Torrenti

> supponendo tu abbia un controllo MSHierarchicalFlexGrid (aggiungilo nei
Con le MSFlexGrid e MSHFlexGrid non ho problemi....
ma io volevo usare una DataGrid (activeX control)
mi pareva piu malleabile
Comunque grazie.... dopo ADO, passero alla OOP, di cui ancora non ci capisco 
nulla
Grazie dell'incoraggiamento
Emanuele

 nulla
OOP devi iniziarlo quanto prima! E' fondamentale. Ritengo(ma me lo ha 
fatto ritenere mr.Balena), che se non impari quanto prima un po' di 
rudimenti di OOP, ADO sarà un' impresa titanica.
Tra l'altro le classi di vb6 sono abbastanza semplici (e un po' 
limitate, leggasi Ereditarietà...).
Dai, anche questa è fattibile!
-- 
Emanuele Torrenti

 ha scritto nel messaggio 
news:OcMMe.20647$HM1.5...@twister1.libero.it...


 Fa copia/incolla su file di testo, salvalo come .frm
[cut]

 Dai, anche questa è fattibile!
E si caro omonimo....
se non sai programmare a oggetti non sai programmare...alemno negli ultimi 
tempi.
Io la teoria bene o male la conosco, ma è il metterlo in pratica che non 
l'ho capito...
se io volessi applicare la OOP al mio esempio, che senso avrebbe? Creare un 
oggetto per richiamare degli oggetti gia esistenti...
sarebbe ridondante...o no?!?
Vediamo, un passo alla volta
Grazie dell'incoraggiamento
Emanuele 

 Emanuele 
Emanuele
-- 
Emanuele Torrenti

 ha scritto nel messaggio 
news:5ANMe.19864$F23.2...@twister2.libero.it...
