Topic: Сортировка Комбобокса по разным полям

Есть таблица с полями:
ID, SortNum, Name
Вывожу Name в комбобокс
Стандартными средствами можно включить сортировку и она работает по полю Name.
А как расположить значения NAME в комбобоксе в порядке значений в поле SortNum?

Re: Сортировка Комбобокса по разным полям

Компонент можно заполнить произвольным SQL запросом в событии главной формы OnShow


Form1.ComboBox1.dbSQLExecute ('SELECT Name, id FROM tablename ORDER BY SortNum');
Dmitry.

Re: Сортировка Комбобокса по разным полям

Здравствуйте Дмитрий, подскажите пожалуйста, в combobox в пункте fieldname можно использовать подобную запись {поле_1}|{поле_2}|{поле_3} для вывода нескольких значений. Как можно вывести несколько значений в случае использования SQL запроса для заполнения?

Re: Сортировка Комбобокса по разным полям

metatron wrote:

Здравствуйте Дмитрий, подскажите пожалуйста, в combobox в пункте fieldname можно использовать подобную запись {поле_1}|{поле_2}|{поле_3} для вывода нескольких значений. Как можно вывести несколько значений в случае использования SQL запроса для заполнения?

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=5934&download=0

Re: Сортировка Комбобокса по разным полям

sibprogsistem, спасибо за разъяснения, но вы не верно поняли вопрос.  Речь идёт о заполнении комбобокса SQL запросом. Попробуйте к примеру отсортировать ваш комбобокс на фото по полю "улица" в обратном порядке, при этом сохранив структуру вывода данных в комбобоксе "компания,улица,дом,телефон".

Re: Сортировка Комбобокса по разным полям

установите свойство
searchable в TRUE

Re: Сортировка Комбобокса по разным полям

sibprogsistem wrote:

установите свойство
searchable в TRUE

"Отличный" совет. Когда я захочу в комбобоксе включить функцию поиска именно так я и сделаю.

Re: Сортировка Комбобокса по разным полям

metatron wrote:
sibprogsistem wrote:

установите свойство
searchable в TRUE

"Отличный" совет. Когда я захочу в комбобоксе включить функцию поиска именно так я и сделаю.

ну, поиск по сути тот же самый фильтр..
ну да ладно
вот Вам  еще пример

Post's attachments

Attachment icon test.7z 3.31 kb, 262 downloads since 2019-11-02 

Re: Сортировка Комбобокса по разным полям

Нашёл ответ на свой вопрос.

Form1.ComboBox1.dbSQLExecute ('SELECT fieldname_1 || ''|'' || fieldname_2 || ''|'' || fieldname_3, id FROM tablename ORDER BY fieldname_2 
 DESC');

''|''- внутри кавычек содержится любой знак или текст для визуально разделения данных

10 (edited by metatron 2019-11-04 09:48:07)

Re: Сортировка Комбобокса по разным полям

Добавлю ещё живой пример, может кому пригодится:

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.ComboBox1.dbSQLExecute ('SELECT ''Улица:'' || a || '' Дом:'' || b || '' Квартира:'' || c, id FROM spisok ORDER BY id DESC, a ASC, b DESC, c DESC');
end;

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=5945

Post's attachments

Attachment icon du8TJjmCsOk.jpg 51.15 kb, 130 downloads since 2019-11-04 

Re: Сортировка Комбобокса по разным полям

ORDER BY FIELD  я так понимаю не поддерживается в данном случае?

Re: Сортировка Комбобокса по разным полям

Есть небольшой хак для свойства Filter, чтобы остортировать по нескольким поля, можно написать так

1=1 ORDER BY fieldname1, fieldname2
Dmitry.