Изменение ячейки с помощью combobox в datagridview

114
07 января 2021, 20:20

Есть код по заполнению таблицы. Но никак не разберусь как заставить изменять значение в столбце "Код поставщика" при изменении значения в combobox в столбце "Поставщики". Буду признателен за подсказки и помощь.

conn = new OleDbConnection(conn_string);
conn.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = conn;
string query = "select Договор.*, Поставщики.Название from Договор, Поставщики where Договор.[Код поставщика] = Поставщики.[Код поставщика] order by [№ договора]";
command.CommandText = query;
OleDbDataAdapter da = new OleDbDataAdapter(command);
dt = new DataTable();
da.Fill(dt);
Поставщики.DisplayMember = "Название";
Поставщики.ValueMember = "Код поставщика";
Поставщики.DataSource = dt;
dataGridView1.DataSource=dt;
this.dataGridView1.Columns["Название"].ReadOnly = true;
conn.Close();
Answer 1

Получилось вот так


DataSet dataSet = new DataSet();
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter();
string query = "select * from Договор";
string query1 = "select * from Поставщики";
conn = new OleDbConnection(conn_string);
dataAdapter.SelectCommand = new OleDbCommand(query, conn);
dataAdapter1.SelectCommand = new OleDbCommand(query1, conn);
dataAdapter.TableMappings.Add("Table", "Договор");
dataAdapter1.TableMappings.Add("Table", "Поставщики");
dataAdapter.Fill(dataSet);
dataAdapter1.Fill(dataSet);
BindingSource dogSource = new BindingSource();
dogSource.DataSource = dataSet;
dogSource.DataMember = "Договор";
dataGridView1.DataSource = dogSource;
BindingSource postSource = new BindingSource();
postSource.DataSource = dataSet;
postSource.DataMember = "Поставщики";
DataGridViewComboBoxColumn comboColumn = new DataGridViewComboBoxColumn();
comboColumn.HeaderText = "Поставщики";
comboColumn.DataSource = postSource;
comboColumn.DataPropertyName = "Код поставщика";
comboColumn.DisplayMember = "Название";
comboColumn.ValueMember = "Код поставщика";
READ ALSO
Как установить межбуквенный интервал у TextBlock?

Как установить межбуквенный интервал у TextBlock?

Обычный WPF TextBlock, никак не могу найти приличный способ установки межбуквенного интервала

109
Фильтр dataGridView по дате

Фильтр dataGridView по дате

Нужно сделать фильтр по дате, таблица заполняется через следующий код:

99
Python Работа с JSON в MySQL Стоит ли?

Python Работа с JSON в MySQL Стоит ли?

Как происходит процесс добавления/извлечения JSON данных из MySQL? Достаточно ли их просто записывать в виде строки, а потом извлекать, превращать...

101