![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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