Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > Добавление и удаление данных DataGridView |
Автор: Master_ 10.6.2011, 21:48 | ||||
Visual Studio 2010, ADO.NET. Есть обычный DataGridView. Он отображает данные из таблиц. Есть такая таблица: Personal
В просмотре, то есть в SELECT'е надо выводить не operation_id, а operation_name. Это я могу легко сделать исправив запрос в SelectCommand у TableAdapter'а. Проблема в том, что после этого я не знаю как сделать добавление новых записей. То есть я ввожу
Но вместо operation_name то мне в базу надо вбить operation_id, а вот как это сделать? Какие наводки? Вообще не пойму ![]() |
Автор: Gluttton 10.6.2011, 23:01 |
Master_, т.е. пользователь при вводе новой записи должен ввести и ID для неё? |
Автор: Master_ 10.6.2011, 23:56 |
Нет, он выбирает или вводит operation_name, а при сохранении данных operation_name надо заменить на соответствующий operation_id.. |
Автор: Экскалупатор 11.6.2011, 09:34 |
Master_, ты можешь попробовать выбрать не три записи а четыре, т.е. и имя и id только показывать только то что тебе нужно, тогда при выборе чего то у тебя будет возможность прочесть из скрытого поля id и дальше с ним работать. |
Автор: mongoloid 12.6.2011, 16:58 |
Если я правильно понял, то ситуация выглядит так: 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 Теперь в ДатаГридВью не нужно будет ручками вколачивать имя операции, будете выбирать посредством комбобокса. |
Автор: Master_ 12.6.2011, 23:09 |
Именно то, что нужно. Жалко только то что я это нашел сам перед тем как вы ответили ![]() |