После того, как я щелкну определенную строку и нажму button
, я хочу изменить тип cell
с типа по умолчанию (DataGridViewTextBoxCell
) на DataGridViewComboBoxCell
и изменить источник данных этой ячейки на список.
Каким-то образом я столкнулся с необъяснимым поведением, в одной строке он работает и показывает ComboBox
, в другой он просто входит в режим редактирования.
Мой код выглядит примерно так:
private void btnClick(object sender, EventArgs e)
{
dataGridView.BeginEdit(true);
var selectedRow = CurrentCell.RowIndex;
var selectedColumn = CurrentCell.ColumnIndex;
var cellName = dataGridView[0, _selectedCell.RowIndex].Value.ToString();
var dict = GetDict(cellName);
if (dict != null)
{
var comboBoxCell = new DataGridViewComboBoxCell
{
DataSource = dict.Keys.ToList()
}
dataGridView[1, selectedRow] = comboBoxCell;
dataGridView.CurrentCell = dataGridView.Rows[selectedRow].Cells[selectedColumn];
}
dataGridView.BeginEdit(false);
}
Обновление: Кажется, только после того, как event
CellBeginEdit
запущен, что вызвано нажатием других cell
обновлений, но тогда для * 1018 требуется 3-4 щелчка * чтобы открыть.