У меня есть ComboBox, который загружает список стран. Каждый раз, когда я выбираю один элемент, а затем фокусируюсь на другом объекте формы, он сбрасывается на 0. Этот ComboBox связан с целочисленным значением в основной таблице (он хранит индекс, а не строку страны).
Что, черт возьми, я делаю не так?
решение1
Если я правильно вас понял, вам нужен ComboBox, который отображает список названий стран и хранит какой-то код страны. Вы можете использовать ComboBox для отображения и храненияаполе, но не для отображения одного поля и сохранения другого. В отличие от элемента управления ListBox, ComboBox не имеет свойства Bound Field
, которое требуется для использования двух полей. Bound Field
Свойство определяет, какое поле хранится в вашей целевой таблице.
Вам нужно использовать элемент управления ListBox, чтобы получить эту функциональность. Элемент управления ListBox должен предоставить вам мастера. Сначала выберите таблицу, из которой вы хотите отобразить данные.
Затем выберите поле, которое вы хотите отобразить.
Наконец, выберите поле, в котором вы хотите сохранить значение (список слева), и поле, из которого вы хотите получить значение (список справа).ПРИМЕЧАНИЕ: В этом примере я использую только одну таблицу. Поэтому у меня есть те же параметры в списках слева и справа. Обычно вы извлекаете эти данные из другой таблицы, чтобы отобразить и сохранить в текущей — обычно как некую связь внешнего ключа.
Затем нам нужно заставить ListBox действовать как ComboBox, то есть сделать так, чтобы ListBox имел выпадающее меню. Щелкните правой кнопкой мыши ListBox и перейдите к Control
. Установите DropDown
свойство на Yes
. Установите LineCount
на столько элементов, сколько вы хотите отображать без необходимости прокрутки (лично мне нравится 5). Наконец, установите Height
на что-то больше похожее на то, что будет в поле Text.
Ссылка: http://user.services.openoffice.org/en/forum/viewtopic.php?p=164740#p164740