:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Как ввести новое значение непосредственно в ComboBox | ||
---|---|---|
Вопрос
Я ввожу новое значение в ComboBox (или редактирую существующее), но оно не попадает ни в выпадающий список, ни в выбранное значение. Как можно организовать ввод нового значения непосредственно в ComboBox. Причина ComboBox - это объект, цель которого выбрать одно из уже существующих значений. Он не предназначен для модификации списка значений, который сам же и отображает. Как следствие, в нем не предусмотрено никакого автоматического механизма модификации этого списка. То, что Вы набираете непосредственно в ComboBox предназначено для быстрого поиска нужного значения в выпадающем списке по первым набранным символам. Но вовсе не для модификации этого списка. Если набранного Вами значения нет в списке, то предполагается, что Вы ничего не выбрали. Соответственно, выбранное значение не определено (пустое). Решение Тем не менее, все-таки можно обойти это ограничение и организовать автоматическое пополнение списка программными средствами. Идея заключается в следующем: Следовательно, если в событии ComboBox.Valid() сравнить содержимое ComboBox.DisplayValue и ComboBox.Value, то можно сделать вывод о том, что пользователь ввел значение, которого нет в списке. Код будет выгладеть примерно так:
Как именно добавить в источник данных ComobBox новое значение зависит от типа выбранного Вами источника данных. Для таблицы - это добавить новую запись, для массива - увеличить размерность и вписать в новый элемент новое значение и т.п. Недостаток данного метода заключается в том, что невозможно определить, чего именно хотел пользователь: ввести новый элемент списка или изменить ранее существовавший элемент. По умолчанию, предполагаем, что всегда осуществляется ввод нового значения. Именно поэтому, пользоваться данным методом следует крайне осторожно, предварительно все очень хорошо продумав. Вы можете увязнуть в постоянных просьбах пользователя удалить случайно введенный новый элемент списка. |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
ComboBox | 5466 | Владимир Максимов | 01.03.05 22:12 |
Как автоматически раскрыть выпадающий список | 12108 | Владимир Максимов | 15.05.05 18:58 |
Как ввести новое значение непосредственно в ComboBox | 10107 | Владимир Максимов | 15.05.05 19:35 |
Не отображается выбранное значение в ComboBox | 12416 | Владимир Максимов | 19.05.05 17:37 |
© 2006 Fox Club  |