View Full Version : [VB6] HierarchicalFlexGrid: massimo nr.di righe ?
Ciao, ho creato un'applicazione che fa uso di alcune FlexGrid, vorrei sapere qual'è il numero massimo di righe visibili, e in caso ci sia, come suggerite eventualmente di fare per poterle visualizzare "a blocchi" con magari un paio di tasti "avanti e indietro".
Il DB a cui sono agganciato è un semplice Access2k.
Grazie per ogni suggerimento.
Ciao
Indipendentemente dal fatto che ci sia o meno un limite, avere una griglia anche solo con 1000 righe al colpo non è un granchè come leggibilità.
Molto meglio implementare un paging, che nel caso dell'ADODB Recordset, puoi gestire usando le proprietà .CacheSize e .PageSize.
Indipendentemente dal fatto che ci sia o meno un limite, avere una griglia anche solo con 1000 righe al colpo non è un granchè come leggibilità.
Molto meglio implementare un paging, che nel caso dell'ADODB Recordset, puoi gestire usando le proprietà .CacheSize e .PageSize.
In effetti si, anche se conto di non avere più di un paio di migliaia di righe in totale, una paginazione non sarebbe male....mi potresti fare o linkare degli esempi di questa funzionalità ? Sinceramente non l'ho mai utilizzata....
(per popolare la flex uso un classico ADODB.Recordset settandolo come suo DataSource)
Esempi validi sul web ce ne saranno, ma ricordo di aver fatto fatica anch'io a trovare qualcosa e alla fine mi ero arrangiato di sana pianta.
Non è una cosa immediata. A grandi linee :
1. Carichi il Recordset principale, che contiene tutte le righe desiderate. La procedura è quella solita, ma si faccia attenzione che alcune proprietà siano quelle "giuste", altrimenti non funzionerà :
...
RS.CacheSize = 100
RS.PageSize = 100
RS.CursorLocation = adUseClient
RS.CursorType = adOpenStatic
RS.LockType = adLockReadOnly
...
2. Si crea un secondo Recordset di appoggio (RecordSetPaginaN), senza connessione, che riceve di volta in volta solo i record della pagina desiderata...
3. Si esegue il binding della HFlexGrid con :
Set MSHFlexGrid1.Recordset = RecordSetPaginaN
Non è una gran spiegazione, ma la versione "full" implicherebbe il copia/incolla di una cinquantina di righe di codice direttamente da un mio progetto... e sai com'è... :D
Intanto grazie mille, sei stato più che gentile già ad incollarmi queste righe.
Cercherò qualcosa sulle proprietà pagesize e cachesize che mi sembrano le "indiziate principali" in questa indagine, di certo San Guuugle mi farà una grazia (spero).
Oggi ho provato a fare come mi hai detto, però la parte che non riesco a far funzionare è l'assegnare XX righe recuperate dal RS "ufficiale" al recordset disconnesso...
Oggi ho provato a fare come mi hai detto, però la parte che non riesco a far funzionare è l'assegnare XX righe recuperate dal RS "ufficiale" al recordset disconnesso...
1. NON devi chiudere la connessione usata per popolare il RS principale.
2. Esegui in un ciclo la copia record per record nel RecordSet-Pagina, facendo attenzione che la condizione di uscita dal ciclo stesso non sia solo la classica RS.EOF, ma anche ( OR ) RS.AbsolutePage <> numeroPaginaSelezionato... ;)
Perfect!
Proverò così, grazie mille ancora!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.