![]() |
|
|
![]()
|
|
| MadCoder |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 24.8.2007 Где: Москва Репутация: нет Всего: 2 |
Доброй ночи!
У меня есть DBGrid, который подключен к DataSource1. В DataSource1 одно из полей типа Lookup: подключено по id к DataSource2. Все работает хорошо, но когда хочется занести новое (а не существующее в DataSource2) значение, не получается. Возможно ли сделать так, чтобы можно было выбирать из списка или писать самому (в этому случае значение пишется в DataSource2, а в DataSource1 подставляется id)? |
|||
|
||||
| pavelv |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 245 Регистрация: 5.2.2006 Репутация: нет Всего: нет |
Копай БефоИнсерт в DataSource1. Не пробовал, но думаю должно получится.
|
|||
|
||||
| MadCoder |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 24.8.2007 Где: Москва Репутация: нет Всего: 2 |
Не вижу логики. Зачем мне beforeinsert, если я в программе не могу ничего написать в Lookup-ячейку, только выбрать? |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Можно сделать финт ушами. Добавить в таблицу значение "Добавить...". Когда пользователь выбирает это значение, то появляется форма добавления, где пользователь добавляет новую запись. После этого ты программно обновляешь выпадающий список и сразу выбираешь новое значение. А можно рядом поставить маленькую кнопочку с плюсиком. Пользователь нажимает добавляет новое значение в выпадающий список.
Добавлено через 2 минуты и 40 секунд Есть разные компоненты типа TDBLookupCombobox, например из пакета DevExpress. Там можно ручками вписать в строку новое значение. вот пользователю нужно новое значение в списке. Он пишет в строке новое значение и нажимает Enter. Ты проверяешь, если такого значения нет в таблице, которая привязана к TDBLookupCombobox, то добавляешь. |
|||
|
||||
| MadCoder |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 24.8.2007 Где: Москва Репутация: нет Всего: 2 |
А стандартного способа нет?
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
В смысле.... поясни нам, что есть за стандартный способ?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |