Работа с DataGridViewComboBoxColumn - C#
Формулировка задачи:
Всем здравствуйте. помогите пожалуйста разобраться. Есть 4 колонки 2 из них DataGridViewComboBoxColumn.
Код программы создания combobox :
Код программы обработка события :
При клике и выборе значения из combobox значение присваивается в первую ячейку.
Но вот проблема когда я выбираю 2-ой combobox то опять записывается в первую.
Я так понимаю что необходимо по имени combobox заполнять соответствующую ячейку.
Помогите пожалуйста с получением имени. Ну или если есть еще варианты , буду рад...
Заранее спасибо.
private void RepiarRegion_Click(object sender, EventArgs e) { DataGridViewComboBoxColumn Region1 = new DataGridViewComboBoxColumn(); Region1.HeaderText ="Регион из БД"; Region1.Name = "Регион из БД"; ArrayList SpisokRegion = GetArrayRegion(); Region1.Items.AddRange(SpisokRegion.ToArray()); dataGridView1.Columns.Add(Region1); dataGridView1.Columns["Регион из БД"].DisplayIndex = 1; DataGridViewComboBoxColumn Client1 = new DataGridViewComboBoxColumn(); Client1.Name = "Заказчик из БД"; ArrayList SpisokClient = GetArrayClient(); Client1.Items.AddRange(SpisokClient.ToArray()); dataGridView1.Columns.Add(Client1); dataGridView1.Columns["Заказчик из БД"].DisplayIndex = 3; }
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { combo = e.Control as ComboBox; if (combo != null ) { combo.SelectedIndexChanged -= new EventHandler(combo_SelectedIndexChanged); combo.SelectedIndexChanged += combo_SelectedIndexChanged; } } private void combo_SelectedIndexChanged(object sender, EventArgs e) { string selectedItem = (sender as ComboBox).SelectedItem.ToString(); dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value = selectedItem; }
Решение задачи: «Работа с DataGridViewComboBoxColumn»
textual
Листинг программы
ComboBox box = sender as ComboBox; string boxName = box.Name;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д