Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ComboBox Видимое в списке и его значение [D7, XP]


Grab3 ©   (2010-03-13 13:25:00) 

Здравствуйте! Ответьте пожалуйста на такой простой вопрос. Потому как чувствую, что погружаюсь в дебри, а решение где - то на поверхности.
Можно ли элементу в comboboxе задать скрытое значение, которое потом можно было бы потом получить при выборе. По аналогии с input в html.


<input type="listbox">
<select value='81728'>Василий Семенович</select>
<select value='84556'>Аглая Мироновна</select>
</input>


Соответственно пользователь видит имена людей, а я в результате могу получить идентификатор. На данный момент пришлось создать массив, в котором индекс элемента cboxa приводится в соответствие со скрытым идентификатором. Хотелось бы чего-то более изящного.


Sergey13   (2010-03-17 14:36:00) [1]

> [11] Grab3 ©   (13.03.10 15:15)
> Ладно, уже чувствую вышел за рамки.

ИМХО ты в них еще и не входил. Пока от тебя только отблески потоков мысли и твои ощущения. Ты объясни задачу, которую решаешь, огласи мероприятия, которые ты произвел для этого. Фактов побольше, а не коментариев к ним. А то все "аналогии в html" да "чувствую, что погружаюсь".


Grab3   (2010-03-17 14:16:00) [2]

Че обзываешся.


Плохиш   (2010-03-13 17:27:00) [3]

Да, ветки для недоначинающих здесь всё ещё не создали.


Grab3   (2010-03-13 15:15:00) [4]

Ладно, уже чувствую вышел за рамки. Перенесу вопрос в конференцию про базы данных.


Grab3   (2010-03-13 14:52:00) [5]

Да причем здесь DBGrid!!! Я ведь меняю данные в DataSet!!! Я просто говорю о том, что вижу изменения в DBGrid.


oldman   (2010-03-13 14:50:00) [6]


> И я это вижу сразу же в DBGrid.


Шо, опять?
В DbGrid нет данных, сколько уж твердили миру.


Grab3   (2010-03-13 14:47:00) [7]

Вот смотрите. У меня при выборе из DbLookupCombo в DataSetе меняется значение поля(То есть dataset входит в режим редактирования). И я это вижу сразу же в DBGrid. Потом хочу сохранить изменения в базу и делаю Dataset.POst. Ошибок никаких не выдает(типа не в режиме edit или insert). Закрываю DataSet или приложение. Запускаю -- изменений нет... Другая таблица этой же базы редактируется нормально, но через TIBSQL.


oldman   (2010-03-13 14:40:00) [8]


> Grab3 ©   (13.03.10 14:27) [5]
> Поясните пожалуйста! Значения нужного поля в Datasetе изменяются
> корректно в соответствии с выбранным в DBLookupComboBox.
>  Затем по кнопке делаю
> DataSet1.Edit;
> DataSet1.Post;


Сначала Edit, потом изменения, потом Post


Grab3   (2010-03-13 14:35:00) [9]

Использую Firebird. И в хелпе про post от IBClientDataSet написано:

"ADO and InterBaseExpress datasets post records directly to the database server."

То есть все должно быть замечательно. ЧТо же я мог упустить?


Grab3   (2010-03-13 14:27:00) [10]

Поясните пожалуйста! Значения нужного поля в Datasetе изменяются корректно в соответствии с выбранным в DBLookupComboBox. Затем по кнопке делаю
DataSet1.Edit;
DataSet1.Post;

После этого делаю DataSet1.Close; Dataset1.open;. Изменения не применились. Что же может быть не так?


Grab3   (2010-03-13 14:04:00) [11]

Использовал DbLookupCombobox. Правда мне не нравится, что DataSet в режиме редактирования находится постоянно. Хотелось бы делать выбор и сохранять по кнопке изменения.... Может создать второй DataSet для отображения в таблице?


MBo   (2010-03-13 13:56:00) [12]

можно использовать Objects - свойство, ассоциированное с каждой строкой.
Если требуется целое число, использовать приведение типов


Grab3   (2010-03-13 13:50:00) [13]

Да, вот только DBComboBox показывает мне только текущий элемент datasetа. А список пуст...


Ega23   (2010-03-13 13:40:00) [14]


> Хотелось бы чего-то более изящного.


TDBComboBox


Наверх

Титульная страница Поиск, карта сайта Написать письмо