Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: petrusic - Ottobre 04, 2021, 07:40:31 pm

Titolo: [Risolto] StringGrid e sue proprietà
Inserito da: petrusic - Ottobre 04, 2021, 07:40:31 pm
Ho costruito una StringGrid da caricare coi dati letti da più tabelle di DB.
Non capisco però perchè:
1.  non funzionano le barre di scorrimento di righe e colonne
2.  non si attivi la funzione di allargamento/restringimento colonna quando muovo il puntatore del mouse sulla riga di testa, partendo da una posizione a cavallo fra due colonne  qualsiasi della vista corrente.

Ho fatto tante prove, come l'impostazione |GridMovv.AutoSizeColumns| (la mia stringGrid si chiama GridMovv), |GridMovv.Cursor:= crHandPoint| e non solo.
l'immagine allegata della StringGrid, col progetto avviato, parla da sola.

Le colonne dichiarate sono 15, ma non tutte visibili. Mostro solo quelle utili alla digitazione, mentre lascio nascoste quelle altre che mi servono esclusivamente di supporto per l'esecuzione del codice.
Attualmente le righe dichiarate sono |GridMovv.RowCount:= 100.
Ciò mi dovrebbe permettere, in teoria, di scorrere la StringGRid in senso verticale ed orizzontale, ma non si può.

Poi, come si vede nell'immagine allegata, portando il puntatore del mouse a cavallo di due colonne consecutive, sulla riga di testa della griglia, e cliccandovi sopra, tenendo il pulsante sinistro  del mouse premuto, l'ampiezza delle colonne non si modifica.

Considerando che per ciascuna colonna ho dichiarato un'ampiezza di colonna minima e massima diverse e che il contenuto di alcune colonne supera abbondantemente le loro dimensioni (anche se dichiarate Autosize), non capisco quale salto acrobatico c'è da fare per fare funzionare il tutto.
Titolo: Re:StringGrid e sue proprietà
Inserito da: DragoRosso - Ottobre 04, 2021, 10:21:49 pm
Vedi le proprietà Options della StringGrid.

Dovrebbero essercene circa 32 .... hai solo l'imbarazzo della scelta  ;D

A memoria, ma potrei sbagliare dovrebbero essere di tuo interesse goScrollKeepVisible e goColSizing (non ho Lazarus a portata di mano ora).

Ciao
Titolo: Re:StringGrid e sue proprietà
Inserito da: petrusic - Ottobre 05, 2021, 12:12:50 pm
Vedi le proprietà Options della StringGrid.

Dovrebbero essercene circa 32 .... hai solo l'imbarazzo della scelta  ;D

A memoria, ma potrei sbagliare dovrebbero essere di tuo interesse goScrollKeepVisible e goColSizing (non ho Lazarus a portata di mano ora).
Le ho provate entrambe, ma senza risultato.

Ho capito, poi, che ci sono funzioni che si attivano tramite settaggio combinato di più proprietà, ma, ahimè, non esiste una guida chiara, nemmeno indicativa. Quello che si trova è sempre legato alle esperienze vissute da discussioni su forum. Ma vai a trovare quella adatta a questo mio problema. Io manco di fantasia, infatti non ho saputo leggere dentro le proprietà Option della StringGrid.
 :-\
Titolo: Re:StringGrid e sue proprietà
Inserito da: bonmario - Ottobre 05, 2021, 01:09:16 pm
Probabilmente hai cercato male !!!
Tra le "Options" c'è "goColSizing", che serve proprio per poter dimensionare le colonne !
Poi, se vuoi, c'è pure "goDbClickAutoSize", che serve ad allargare la colonna alla dimensione ottimale facendo il doppio click sul separatore di colonnne.

Per quanto riguarda la barra di scorrimento, credo che non esca perché hai solo 2 righe emesse. Io di solito imposto la proprietà "ScrollBars" con "ssAutoBoth", in modo che escano solo quando serve. Puoi provare gli altri valori, e vedere quale ti va bene.

Ciao, Mario
Titolo: Re:StringGrid e sue proprietà
Inserito da: petrusic - Ottobre 08, 2021, 07:33:49 pm
Probabilmente hai cercato male !!!
Hai ragione, ma l'ho scoperto solo dopo la tua esclamazione. Ho rinnovato la ricerca e, magari con un pò di fortuna, ho trovato qui (https://lazarus-ccr.sourceforge.io/docs/lcl/grids/tstringgrid.html) la risposta che cercavo.

Citazione da: bonmario
Tra le "Options" c'è "goColSizing", che serve proprio per poter dimensionare le colonne !
Si, è proprio quello che fa per me.

Posso dire che finalmente ci sono quasi. Mi manca infatti di stabilire il primo dimensionamento delle colonne, . . . ma questo è un altro discorso.