2016-07-24 25 views
1

Ich habe eine Combobox, dass ich ein paar Zahlen, wie im folgenden CodeWie sortiere ich Objekte in einer Combobox?

combobox1.Items.BeginUpdate; 
try 
    combobox1.Sorted := True; 
    combobox1.Items.Add('0'); 
    combobox1.Items.Add('2'); 
    combobox1.Items.Add('1'); 
    combobox1.Items.Add('3'); 
    combobox1.Items.Add('5'); 
    combobox1.Items.Add('4'); 
finally 
    combobox1.Items.EndUpdate; 
end; 

Ich mag sortieren diese Zahlen als 0,1,2,3,4,5 ... und so weiter hinzuzufügen, in der combobox.

Ich habe die sortierte Eigenschaft aktiviert, aber die Elemente wurden nicht sortiert.

Wie könnte ich Artikel mit Nummern innerhalb der combobox sortieren?

Ich lade Artikel in combobox von TList mit diesem Code:

var 
    J : integer; 
    themes : Tthemes; 
begin 
    ComboBox1.Items.BeginUpdate; 
    try 
    ComboBox1.Sorted := True; 
    for J := 0 to listitems.Count - 1 do 
    begin 
     themes := listitems.Items[J]; 
     ComboBox1.Items.Add(themes.designid); 
    end; 
    finally 
    ComboBox1.Items.EndUpdate; 
    end; 

    ComboBox1.ItemIndex := 0; 
+0

Ich habe versucht, den Code und das Ergebnis sortiert wird! XE7 und Annahme von Vcl-Projekt. –

+0

komisch mache ich den gleichen Code und das Ergebnis kommt das gleiche wie sie ohne sortierte iam mit diesem Code in DLL-Projekt hinzugefügt –

+0

Ich kann mir nicht vorstellen, wie das Projekt, das eine DLL sein könnte, irgendeine Wirkung haben könnte. Aber nur für den Fall, versuchen Sie es mit einem neuen vcl-Formular-Projekt. Legen Sie die Combobox und eine Schaltfläche auf dem Formular ab. In den Schaltflächen OnClick Event Copy - fügen Sie den obigen Code ein. Keine anderen Entwurfszeiteinstellungen. –

Antwort

0

Try this:

combobox1.Sorted := False; 
    combobox1.Items.Add('0'); 
    combobox1.Items.Add('2'); 
    combobox1.Items.Add('1'); 
    combobox1.Items.Add('3'); 
    combobox1.Items.Add('5'); 
    combobox1.Items.Add('4'); 
    combobox1.Sorted := True;