0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 28
1

[OLE DB] Добавление ComboBoxColumn через адаптер и источник данных в dataGridView

03.11.2014, 22:30. Показов 1274. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сразу извиняюсь, если пишу не туда, не изучаю, просто возникла потребность в этом)

У меня есть БД, в ней есть две таблицы:
1) Хранимые данные (каждый атрибут является двумя символами) в формате кода (к примеру "A(", "B1" и т.д.);
2) Таблица этих кодов (код и расшифровка).

Мне нужно получить в расшифрованном виде значения первой таблицы (с возможностью сохранять изменения) и сделать изменение этих значений так, чтобы можно было выбрать только из списка.

Всё хорошо, кроме одного: не получается сделать выпадающий список в dataGridView.
Через конструктор нельзя добавлять DataGridViewColumnBox (на нем только пустая dataGridView и кнопочки сохранить и прочитать из БД). Остальных ограничений вроде бы нету.

Вот один из моих вариантов (спасибо гуглу):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    OleDb::OleDbConnection ^ connection;
    OleDb::OleDbDataAdapter ^ autoAdapter;
 
    OleDb::OleDbDataAdapter ^ PrepareSpendingsAdapter() {
            OleDb::OleDbDataAdapter ^ adapter;
 
            adapter = gcnew OleDb::OleDbDataAdapter("SELECT * FROM table_data", connection);
            adapter->TableMappings->Add("Table", "table_data");
 
            return adapter;
    }
 
    void test()
    {
            connection = gcnew OleDb::OleDbConnection(
                "Data Source=\"..\\my_database.mdb\";User " +
                "ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
 
            DataSet ^ cachedData = gcnew DataSet();
 
            DataGridViewComboBoxColumn ^ cmb = gcnew DataGridViewComboBoxColumn();
            OleDb::OleDbDataAdapter ^ adapterSpendCategory = gcnew OleDb::OleDbDataAdapter("SELECT name FROM table_codes", connection);
            adapterSpendCategory->TableMappings->Add("Table", "table_codes");
            adapterSpendCategory->Fill(cachedData);
            cmb->DataSource = cachedData->Tables["table_codes"];
            cmb->DisplayMember = "name";
            cmb->ValueMember = "name";
 
 
            autoAdapter = PrepareSpendingsAdapter();
            // ...
            autoAdapter->Fill(cachedData);
            dataGridView1->DataSource = cachedData->Tables["table_data"];
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2014, 22:30
Ответы с готовыми решениями:

Добавление записи в БД через источник данных
Всем доброго времени суток, возник вопрос как добавить данные через источник данных DataSource в...

Дополнительный источник данных для провайдера OLE DB
Подскажите пожалуйста, как лучше организовать дополнительный источник данных в разрабатываемом...

Добавление данных в DataGridView через textbox
У меня есть две формы (FrmZakazBayer,FrmZakazFarm). На FrmZakazBayer есть пять textbox. На...

Добавление данных в dataGridView через вторую форму
Доброго вечерочка. Даны 2 формы: Форма 1: Форма 2: При нажатии на кнопку "Добавить" на форме 1,...

0
03.11.2014, 22:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2014, 22:30
Помогаю со студенческими работами здесь

DatagridView добавление данных через кнопку в другой форме
Как добавить в datagridview данные из другой формы и через кнопку? ----------------------------...

DatagridView добавление данных через кнопку в другой форме
Как добавить в datagridview данные через кнопку в другой форме,с combobox и domainupdown

Добавление данных в источник
Как добавить данные в datagridview через текстбоксы в источник данных? бд access Собственно сама...

SQLite источник данных для DataGridView
Добрый день, как в VisualStudio можно добавить в перечень источников данных для DataGridView имея...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru