![]() |
ComBobox mit Wildecard - Suche
Hallo
Ich habe versucht in einer ComboBox eine Wildcard - Suche zu implementieren.
Delphi-Quellcode:
AutoComplete = False
procedure TTMainPage.CoBoBezKabelseiteKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState); var i: integer; Suchtext, Sucheingabe, SpeisungNr: String; begin if ( Key <> 13) and not (Key In [37..40]) and ( Key <> 27) then //Enter, Pfeiltasten und Escape ausgeschlossen begin Sucheingabe:= CoBoBezKabelseite.Text; Suchtext:= '%' + CoBoBezKabelseite.Text + '%'; SpeisungNr:= IntToStr(Integer(CoBoSpeisung.Items.Objects[CoBoSpeisung.ItemIndex])); with ADOQuery1 do begin Close; SQL.Text:= 'SELECT '+ 'a_bez, nr '+ 'FROM '+ '[verteilelement] '+ 'WHERE '+ 'a_speisung_system_nr = '''+SpeisungNr+''' '+ 'AND '+ 'a_bez LIKE '''+Suchtext+''' '; Open; end; CoBoBezKabelseite.Items.Clear; for i := 1 to ADOQuery1.RecordCount do begin CoBoBezKabelseite.Items.AddObject(ADOQuery1.FieldbyName('a_bez').AsString, TObject(ADOQuery1.FieldbyName('nr').AsInteger)); ADOQuery1.Next; end; CoBoBezKabelseite.ItemIndex:= 0; CoBoBezKabelseite.DroppedDown:= True; CoBoBezKabelseite.Text:= Sucheingabe; CoBoBezKabelseite.SelStart:= Length(CoBoBezKabelseite.Text); end; if Key = 13 then begin if CoBoBezKabelseite.ItemIndex < 1 then CoBoBezKabelseite.Text:= CoBoBezKabelseite.Items[CoBoBezKabelseite.ItemIndex]; end; end; Style = csDropDown Das ganze funktioniert eigentlich recht gut. Ein Problem habe ich aber: Sobald ich "CoBoBezKabelseite.DroppedDown:= True" mache, verschwindet der Mauszeiger und die noch vorhanden Items können nicht per Maus ausgewählt werden. Hat jemand eine Idee wie ich das zwei Problem lösen kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz