Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315

    [delphi] dbgrid larghezza colonne.

    Ciao a tutti,

    Per favore mi sapete dire come posso fare x memorizzare la larghezza (e la successione) delle colonne di una Dbgrid che un utente ridimensiona a runtime,..in modo la volta successiva la dbgrid viene aperta alla stessa maniera della precedente?

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,313
    Argomento decisamente molto vasto e abbastanza articolato dal punto di vista pratico.

    I modi per ottenere il salvataggio di ordine e larghezza delle colonne sono molteplici.

    Puoi ad esempio memorizzare (alla chiusura del form o alla pressione di un apposito pulsante) le larghezze delle colonne iterando la proprietà Columns del controllo DBGrid interessato.

    Le larghezze di ciascuna colonna si ottengono ispezionando la proprietà Width di ciascun elemento della Collection Columns.

    I valori reperiti possono essere memorizzati poi all'interno del Registro di Configurazione di Windows usando la classe TRegistry (unit Registry.pas) oppure all'interno di file INI (usando la classe TIniFile o una delle sue discendenti).

    Per quanto riguarda l'ordine delle colonne, puoi memorizzare all'interno del mezzo persistente scelto le informazioni sui campi da visualizzare sulla colonna 0, 1, 2, 3 e così via.

    Affinchè tutto il meccanismo funzioni, credo sia necessario definire la quasi totalità delle caratteristiche delle colonne a runtime.

    Io l'ho fatto per un'applicazione gestionale in cui una classe base contenente griglia e pulsanti di ordinamento definisce un set di colonne da visualizzare con caratteristiche predefinite modificabili ottenendo i valori di larghezza e ordine dal Registro; le classi discendenti da questa si ritrovano un'interfaccia già completa che deve essere solo regolata in termini di colonne da mostrare e proprietà predefinite di queste, ma la classe base fornisce già tutto il codice necessario - e scritto solo una volta - per permettere a qualsiasi classe discendente di memorizzare nel Registro le proprie impostazioni.

    Se desideri maggiori informazioni in merito all'uso di file INI, posso suggerirti la lettura di un articolo che ho scritto io stesso sul sito Programmazione.it.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.