![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Master_ |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Visual Studio 2010, ADO.NET.
Есть обычный DataGridView. Он отображает данные из таблиц. Есть такая таблица: Personal
В просмотре, то есть в SELECT'е надо выводить не operation_id, а operation_name. Это я могу легко сделать исправив запрос в SelectCommand у TableAdapter'а. Проблема в том, что после этого я не знаю как сделать добавление новых записей. То есть я ввожу
Но вместо operation_name то мне в базу надо вбить operation_id, а вот как это сделать? Какие наводки? Вообще не пойму ![]() Это сообщение отредактировал(а) Master_ - 10.6.2011, 21:49 |
||||
|
|||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Master_, т.е. пользователь при вводе новой записи должен ввести и ID для неё?
-------------------- Слава Україні! |
|||
|
||||
Master_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Нет, он выбирает или вводит operation_name, а при сохранении данных operation_name надо заменить на соответствующий operation_id..
|
|||
|
||||
Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
В таком случае предположу, что используется DropDownList. Если да, то решение, может быть следующим:
И тогда пользователь сможет выбирать текстовое значение, а в приложении можно будет работать с ключем. Не представляю себе как это происходит. Добавлено через 1 минуту и 39 секунд Для справки. -------------------- Слава Україні! |
||||
|
|||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
Master_, ты можешь попробовать выбрать не три записи а четыре, т.е. и имя и id только показывать только то что тебе нужно, тогда при выборе чего то у тебя будет возможность прочесть из скрытого поля id и дальше с ним работать.
|
|||
|
||||
mongoloid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 22.8.2009 Репутация: нет Всего: 1 |
Если я правильно понял, то ситуация выглядит так:
1. Есть таблица Personal (full_name, qualification, operation_id) 2. Есть некая таблица Operation(operation_id, opertion_name) Задача: вывести на экран таблицу Personal, ввести в нее данные и сохранить. При этом вместо operation_id должно отображаться opertion_name (а в Personal, разумеется, должно сохраняться соответствующее operation_id) Подобную задачу я решил так: 1. Создал БД с таблицами в дизайнере Студии 2. Подключил БД в качестве источника данных. 3. Во вкладке "Источники данных" выполнил команду "Настроить источник данных с помощью мастера". 4. В открывшемся окне галкой выделил нужные мне таблицы и поля (в вашем случае это таблицы Personal и Operation со всем полями) 5. Перетащил из вкладки "Источники данных" нужную мне таблицу (Personal) на форму. 6. В свойствах появившегося на форме DataGridView есть свойство Columns, кликайте его в окне настройки свойств. 7. В перечне отображаемых полей оставьте только нужные вам (в вашем случае это, видимо, full_name, qualification, operation_id) 8. Выберите в списке полей ("Выбранные столбцы") столбец operation_id 9. В свойствах этого столбца: 9.1 установить ColumnType = DataGridViewComboBoxColumn 9.2 DataSource = personalBindngSource (или как он у вас называется для вашей таблицы) 9.3 DisplayMemeber = opertion_name 9.4 ValueMember = operation_id Теперь в ДатаГридВью не нужно будет ручками вколачивать имя операции, будете выбирать посредством комбобокса. Это сообщение отредактировал(а) mongoloid - 12.6.2011, 17:06 |
|||
|
||||
Master_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Именно то, что нужно. Жалко только то что я это нашел сам перед тем как вы ответили
![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |