Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
fenix117
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 249
1

Как заменить поля строк, получаемых из базы данных при выводе в datagridview

29.12.2012, 23:00. Просмотров 926. Ответов 5
Метки нет (Все метки)

Здравствуйте, возник вопрос: в базе данных есть поле experience (shortint), в самой проге при добавлении записи имеется combobox, который позволяет выбрать несколько вариантов:
Нет
1 год
2 года
3 года
4 года
5 лет
Больше 5 лет

Их я перевожу в числовой эквивалент и добавляю в базу данных:
Нет = 0
1 год = 1
2 года = 2
3 года = 3
4 года = 4
5 лет = 5
Больше 5 лет = 6

Но когда я заполняю таблицу (this.applicantTableAdapter.Fill(this.birjaDataSet.applicant), в столбце experience выводятся данные числа, а хотелось бы чтобы выводились соответствующие им строки.

Как это можно сделать?

Спасибо за внимание.

Добавлено через 7 часов 47 минут
Неужели никто не знает(((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 23:00
Ответы с готовыми решениями:

Дублируются поля при выводе из базы
Приветствую! Две таблицы в обоих есть столбец referal_id К примеру $_SESSION; = 47 Поля...

Перенос строк при выводе из базы
Не знаю почему..записывает в базу всё верно, запись: строка строка а выводит почему то...

Данные в combobox одного поля, заменить значением другого поля при сохранении в файл базы
Здравствуйте! суть вопроса - беру данные из файла базы ssldb, таблица sites, поле site отображаю...

Ошибка при выводе данных из базы
При выводе данных из БД видает ошибку. Warning: mysql_fetch_array() expects parameter 1 to be...

Кодировка при выводе данных из базы
Помогите пожалуйста решить проблему!!! У меня есть база данных, которую мне нужно привязать к...

5
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
30.12.2012, 07:59 2
Вы бы попонятнее написали, чего хотите. У вас таблица experience может содержать только целые числа (shortint), но вы хотите в ней хранить строку? Или вы хотите изменить тип значения столбца, а только потом туда запихивать строки? Или вы часть строки, которая соответствует целому числу, туда хотите запихать? Или может еще чего?
0
fenix117
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 249
30.12.2012, 16:42  [ТС] 3
Цитата Сообщение от kodv Посмотреть сообщение
Вы бы попонятнее написали, чего хотите. У вас таблица experience может содержать только целые числа (shortint), но вы хотите в ней хранить строку? Или вы хотите изменить тип значения столбца, а только потом туда запихивать строки? Или вы часть строки, которая соответствует целому числу, туда хотите запихать? Или может еще чего?
Нет. Я хочу чтобы при вызове метода адаптера Fill, datagridview выводила в поле experience не то что хранится в базе данных, а заменяла числа на строки. Возможно я неправильно выразился так как плохо знаком с ado и sql, но я рассуждал так: чтобы найти нужную запись где одно из условий будет к примеру опыт больше одного года это поле лучше сделать целочисленным, но при выводе записи в таблицу для красоты лучше заменять числа на более понятные строки. Если к примеру в поле experience будет "6" пользователь не догадается что это означает "опыт работы больше 5 лет"
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
30.12.2012, 17:11 4
Вот теперь все понятно. В DataGridView можно создать колонку с типом DataGridViewComboBoxColumn. Это именно то, что вам и нужно. Думаю, что в свойствах колонки вы сами разберетесь
1
kolorotur
Эксперт .NET
11614 / 9367 / 2387
Регистрация: 17.09.2011
Сообщений: 16,034
Завершенные тесты: 1
30.12.2012, 17:30 5
Гляньте вот эту тему: DGV: сделать так, чтобы в колонке ПОЛ вместо "м" или "ж" были картинки
Я там прицепил проект, в котором колонка "пол" отображает картинку м/жо в зависимости от входящего значения.

Изменить таким образом, чтобы вместо картинки выводился различный текст, думаю, не составит труда.
Наверное можно как-то проще сделать через самопальный форматтер, но лень копаться.
1
DrEl
9 / 7 / 2
Регистрация: 28.09.2012
Сообщений: 16
02.01.2013, 10:25 6
Я делал следующим образом. У меня было 2 таблицы: одна основная (с полями ..., ..., action_ shortint(1), другая подстановочная (с полями action_id, name). DataGridView заполнялся в коде, поэтому получилось так:

C#
1
2
3
4
5
6
7
8
9
10
11
DataGridViewComboBoxColumn dgv_app_action = new DataGridViewComboBoxColumn();
dgv_app_action.DataSource = bs_app_inst; //Подключаемся к источнику данных
dgv_app_action.DataPropertyName = "action_"; //Привязываемся к нужному полю
dgv_app_action.HeaderText = "Действие"; //С таким заголовком понятнее
dgv_app.Columns.Add(dgv_app_action); //Добавляем колонку в грид
 
DataGridViewComboBoxCell cbc = new DataGridViewComboBoxCell(); //Создаём макет ячейки
dgv_app_action.CellTemplate = cbc; //и присваиваем его колонке ComboBoxColumn
cbc.DataSource = ds.Tables["action_file"]; //биндинг не создавал, привязался к таблице в DataSet
cbc.ValueMember = "ACTION_ID"; //В action_ теперь будет сохранятся индекс, выбранный пользователем по имени
cbc.DisplayMember = "name"; //А показывать пользователю будем вот это
Если нет таблицы подстановок, то не сложно будет переделать на IDictionary или тому подобное...
1
02.01.2013, 10:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2013, 10:25

Ошибка при выводе данных из DataGridView в Excel
Подскажите, пожалуйста что это за ошибка Additional information: Не удалось получить фабрику...

При выводе данных из базы не отражается текст
выглядят теперь так(смотрите скрин) а должен быть текст в таблицах

Дублируются комментарии при выводе из базы данных
так как я начинающий программист это моё хоби у меня есть код для вывода комментариев string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru