Создаем и настраиваем Combo Box

Combo Box - один из самых популярных элементов управления. Он прост, удобен, компактен. Предназначен для выбора из готового списка. Поэтому мы и применим его для ввода названия улицы. Ведь список улиц легко извлечь из регионального КЛАДРа, проблем с этим нет. Но в нашей программе такие сложности ни к чему, достаточно ввести в третью таблицу несколько названий.

Поскольку ComboBox достаточно сложен, вполне оправдано применение Построителя. Но, чтобы его использовать, Combobox нужно сначала создать.

Затем щелчок по нему правой кнопкой мыши, выбрать Builder и начать настройки. На первой вкладке вы должны выбрать источник данных.

В первом комбобоксе - Fill the list wihh выбрано Field from a table, то есть из полей какой-либо таблицы.
Во втором комбобоксе выбрана база данных, в данном случае - BAZA1
Под ней - эдитбокс, в котором можно выбрать конкретную таблицу, из которой будем брать данные. Разумеется, выбираем ULICA

Но в таблице может быть несколько полей, может быть даже очень много полей. Нужны, как правило, не все, а только некоторые. В нашем случае, их вполне могло быть два - один с именем улицы, а другой указывал бы ее тип - переулок, улица, проспект, бульвар. А могло быть и три, если бы улицы имели числовые идентификаторы.

Все эти поля отображались бы в среднем эдитбоксе - Available field (доступные поля). Сейчас там только одно поле - Nazvanie.

Нажав синюю стрелку, это поле можно поместить в список выбранных для отображения полей, Selected field - правый эдитбокс. Нажатием на кнопку со сдвоенной стрелкой туда можно переместить сразу все доступные поля таблицы. После чего можно переходит ко второй вкладке. "ОК" пока не нажимаем, рано, он завершит работу и закроет построитель.

Вкладка Style

Первая радиокнопка управляет отображением списка. Вот пример того, как она работает

Вторая радиокнопка управляет работой комбобокса
"Drop-down combo" - контекстный поиск будет работать только после раскрытия списка.
"Drop-down list" - поиск будет выполняться и без раскрытия списка.

Третья радиокнопка разрешает или запрещает инкрементальный поиск (поиск с уточнением). Для чего его запрещать, совершенно непонятно, но такая возможность есть.

Вкладка Layout

Нужна для настройки ширину колонок, если их выбрано несколько полей. Но поле у нас одно, и даже флажок подгонки по содержимому не нужен. Но если есть интерес, вот пример.

Вкладка Value

Здесь оба значения очень важны. Сначала выбирается колонка, из которой будет взято значение. В данном случае колонка одна, и выбора фактически нет. Но могло быть и сложнее, если бы в дополнительной колонке было указано "Улица", "Бульвар" или "Проспект". Затем, когда источник данных выбран, нужно выбрать и приемник.

Обратите внимание, здесь написано Field name (имя поля), поскольку данные заносятся всегда в базу.

Нажав кнопку с точками открываем соответствующую папку, и выбираем таблицу, а уже из нее - нужное поле

Когда это сделано, можно нажать OK, и немедленно сохранить форму, поскольку она в основном готова.

 

 
К оглавлениюк следующей статье