Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [DELPHI]scorrimento TDBLookupCombobox

    Ciao!
    Volevo sapere se è normale che con questo tipo di controllo quando si cerca di scorrerne il contenuto posizionandosi sull'apposita barra di scorrimento e trascinandola verso il basso questa ritorni nella posizione originaria (come se "sfuggisse")e gli items non scrollino affatto. L'unico modo per ottenere lo scorrimento è quello di posizionarsi con il mouse sulla freccetta in basso o in alto. Lo chiedo perché normalmente le scrollbar possono essere trascinate: vedi per esempio quella del nostro forum. Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Bisogna vedere a cosa è collegato il controllo visuale TDBLookupComboBox.

    Per poter scorrere nel modo corretto, ciascuna scrollbar deve avere un minimo ed un massimo.

    Molto spesso, soprattutto quando si lavora con la libreria dbExpress, si ha a che fare con degli insiemi di dati per cui, per motivi di ottimizzazione, non si interroga il DB per conoscere il numero esatto di record, ma questi vengono navigati unidirezionalmente fino all'esaurimento dei record disponibili.

    A causa di questo approccio e di altri meccanismi correlati, molto spesso la barra di scorrimento non ha la stessa precisione di cui gode in altri contesti, mentre lo spostamento con le freccette permette di avanzare e indietreggiare di una unità, quindi non ha un comportamento che "cozza" con il problema descritto.

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

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

  3. #3
    Da quello che scrivi sembra che non ci sia una soluzione al problema...quindi faccio qualche altra precisazione.
    Il controllo è collegato ad un datasource che è collegato ad un simpledataset. Quest'ultimo estrae i record da una tabella tramite una query semplicissima: praticamente li tira fuori tutti senza condizioni(es. SELECT * FROM tabella).

    Per settare il min ed il max delle scrollbar del controllo su quale proprietà dovrei agire ?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da vicky
    Per settare il min ed il max delle scrollbar del controllo su quale proprietà dovrei agire ?
    Se avere il minimo e il massimo della scrollbar è imprescindibile per la tua applicazione, allora potresti tentare di fare un MoveLast e un MoveFirst sul DataSet per forzare il reperimento di tutti i record.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Se avere il minimo e il massimo della scrollbar è imprescindibile per la tua applicazione, allora potresti tentare di fare un MoveLast e un MoveFirst sul DataSet per forzare il reperimento di tutti i record.
    Ho fatto un tentativo, ma senza successo. A parte che posso anche riprovarci...volevo sapere se non mi conviene di più cambiare modalità di accesso ai miei dati. In pratica: c' è un modo per ottenere lo scorrimento dei records (non unidirezionale, però)che sia alternativo all'uso della libreria DBExpress?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Ahimé, al momento non saprei che dirti. Ti suggerirei di usare il componente TClientDataSet, ma in realtà il componente TSimpleDataSet è, sotto sotto, una sua implementazione e include quindi già tutte le funzionalità di cui è dotato il primo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    Ho pensato che forse il problema potrebbe essere la DBLookupCombobox. Infatti ho visto che sia una Combobox normale che una DBCombobox permettono di scorrere gli items senza difficoltà .

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.