2016-07-24 5 views
1

У меня есть выпадающий, что я добавляю некоторые цифры, чтобы, как в следующем кодекак отсортировать элементы внутри поля со списком?

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; 

Я хочу, чтобы отсортировать эти числа как 0,1,2,3,4,5 ... и так далее, внутри combobox.

Я включил свойство Сортировка, но элементы не сортировались.

Как я мог сортировать элементы с номерами внутри combobox?

загружает элементы в combobox из TList с этим кодом:

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

Я попробовал ваш код и результат сортируется! XE7 и предполагая проект Vcl. –

+0

weird Я делаю тот же код, и результат получается таким же, как они добавлены без сортировки iam, используя этот код в проекте dll. –

+0

Я не представляю, как проект, являющийся dll, может иметь какой-либо эффект. Но на всякий случай попробуйте новый проект vcl forms. Отбросьте поле со списком и кнопку в форме. В кнопке Копировать событие OnClick - вставьте код выше. Никаких других настроек времени разработки. –

ответ

0

Попробуйте это:

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; 
Смежные вопросы