Spesso, quando sviluppiamo delle applicazioni interfacciate con dei database ed utilizziamo dei componenti di tipo Data Controls, si può verificare che qualche componente non dia l’esito voluto, ad esempio, in un’applicazione che sfrutta dei componenti Interbase come IBTable, IBQuery o IBDataSet (dò per scontato che sappiate configurare tali componenti).
Quindi avviamo l’ambiente di sviluppo Delphi e creiamo un nuovo progetto, inseriamo nella form dei componenti Data Controls per poter visualizzare i dati contenuti nel nostro dataset, effettuiamo le dovute configurazioni ed inserimo un DBLoockupComboBox, presente fra i componenti Data Controls, il quale fungerà da selettore per i nostri dati; in quest’ultimo componente configuriamo solo la proprietà relativa alla ListSource, avviamo l’applicazione e clicchiamo con il mouse sul componente DBLoockupComboBox, noteremo che quest’ultimo non funziona come dovrebbe, infatti non viene visualizzato l’elenco a cascata delle voci presenti nella tabella del nostro database ma viene visualizzata soltanto una voce per volta, quindi per dirla in parole più semplici, l’elenco delle voci riportate nel componente stesso non si espande.
Per ovviare a questo inconveniente selezioniamo il DBLookupComboBox ed inseriamo il seguente codice nell’evento DropDown:
procedure TForm1.dbSelezionaDropDown(Sender: TObject);
begin
//nome_DataModule.nome_DataSource.DataSet.Last
DataModule1.DataSource1.DataSet.Last;
end;
Avviamo l’applicazione e, se non abbiamo commesso degli errori di configurazione, il tutto funziona correttamente, incluso l’espansione del nostro selettore DBLookupComboBox.
Anche per questa volta è tutto, ciao ed alla prossima.
Filippo