У меня есть ComboBox, который загружает список стран, каждый раз, когда я выбираю один элемент, а затем фокусируюсь на другом объекте в форме, он сбрасывается до 0. Этот ComboBox связан со значением Integer в основной таблице (он хранит индекс, а не строку страны).

Какого черта я делаю не так?

1 ответ1

2

Если я вас правильно понимаю, вам нужен ComboBox, который отображает список названий стран и хранит какой-то код страны. Вы можете использовать ComboBox для отображения и сохранения поля, но не отображать одно поле и сохранить другое. В отличие от элемента управления ListBox, ComboBox не имеет свойства Bound Field , которое требуется для использования двух полей. Свойство Bound Field определяет, какое поле хранится в вашей целевой таблице.

Вам нужно использовать элемент управления ListBox, чтобы получить эту функциональность. Элемент управления ListBox должен дать вам мастера. Сначала выберите таблицу, из которой вы хотите отобразить данные.

Затем выберите поле, которое вы хотите отобразить.

Наконец, выберите поле, в котором вы хотите сохранить значение (список слева), и поле, из которого вы хотите получить значение (список справа). ПРИМЕЧАНИЕ. В этом примере я использую только одну таблицу. Таким образом, у меня есть одинаковые параметры в левой и правой списках. Обычно вы извлекаете эти данные из другой таблицы для отображения и сохранения в текущей - обычно в виде некоторого отношения внешнего ключа.

Затем нам нужно заставить ListBox действовать как ComboBox, то есть заставить ListBox иметь выпадающее меню. Щелкните правой кнопкой мыши ListBox и перейдите в Control . Установите для свойства DropDown значение Yes . Установите LineCount на любое количество элементов, которые вы хотите отобразить без необходимости прокрутки (мне нравится 5, лично). Наконец, задайте для параметра Height значение, более похожее на то, каким будет текстовое поле.

Ссылка:http://user.services.openoffice.org/en/forum/viewtopic.php?p=164740#p164740

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .