![]() |
TMS TAdvDetailDropDown: SelectFirst will nicht
Hallo Leute!
Ich benutze von TMS die DropDown-Komponente vom Typ TAdvDetailDropDown und wundere mich gerade darüber, dass das SelectFirst (oder SelectLast, SelectNext, SelectPrevious) nicht funktioniert. Konkret befülle ich die DropDown-Liste und möchte anschließend, dass das erste (oder ein beliebiges) Item selektiert wird: stattdessen bleibt die Zeile leer. Wenn man die DropDown aufklappt, sieht man, dass alle Items exsitieren -- nur ist eben keines selektiert. So gehe ich vor:
Delphi-Quellcode:
Mache ich da was falsch -- oder eher ein Bug bei TMS?
DropDown: TAdvDetailDropDown;
... DropDown.Items.Clear; DropDown.Clear; FOR i := 0 TO myContainer.Count -1 DO BEGIN WITH DropDown.Items.Add DO BEGIN Caption := TParameters(myContainer.Items[i]).Name; ImageIndex := 24; END; END; DropDown.Refresh; // egal welche Kombination: DropDown.SelectPrevious; // SelectFirst, SelectNext etc. DropDown.Refresh; // diese Zeilen zeigen keine Wirkung DropDown.ItemIndex := 0; // Auch keine Wirkung Lieben Dank & Gruß Jazzman_Marburg |
AW: TMS TAdvDetailDropDown: SelectFirst will nicht
Hallo,
Ich habe es gerade mal ausprobiert, dein Code funktioniert soweit. Das
Delphi-Quellcode:
ist nicht nötig, es reicht das
Select...
Delphi-Quellcode:
.
ItemIndex := ...
Wenn ich den Code allerdings ein zweites Mal aufrufe wird zwar das Item in der Liste selektiert aber nicht mehr im Textteil der Komponente dargestellt. Die Lösung ist, vor dem befüllen der Items den Itemindex auf -1 zu setzen. Hier mal der Code der funktioniert:
Delphi-Quellcode:
Ich habe hier das zur Zeit neuste Update des TMS Component Packs (V6.1.1.0) installiert.
procedure TForm20.InitDropDown;
var DropDown: TAdvDetailDropDown; i: Integer; begin DropDown := advdtldrpdwn1; DropDown.ItemIndex := -1; DropDown.Items.Clear; for i := 0 to 20 - 1 do begin with DropDown.Items.Add do begin Caption := 'Item: ' + IntToStr(i) end; end; DropDown.ItemIndex := 4; end; Ciao, Ralf |
AW: TMS TAdvDetailDropDown: SelectFirst will nicht
Zitat:
Ich habe es gerade probiert -- es funktionert so wie Du es sagst. Dankeschön für den Hinweis. Wundere mich dann nur über: a) warum/oder wozu dann das Select da ist b) wozu das DropDown.Clear; da ist: Ich hätte ja erwartet, dass nach dem Clear die Liste leer ist, aber tatsächlich ist sie es erst nach einem Items.Clear; Naja -- wie dem aus sei: Vielen Dank für Deinen hilfreichen Tipp! Schönen Gruß Jazzman |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 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