DataGridViewComboBoxCell ComboBox не отображается - PullRequest
0 голосов
/ 09 мая 2018

Перед установкой сетки данных с помощью EditMode: EditProgrammatic ComboBox выглядел, как и должно.

После настройки EditMode: EditProgrammatic требуется 2-3 щелчка мышью по стрелке для отображения элементов выбора.

private void suggestButton_Click(object sender, EventArgs e)
{
  var dict = getSuggestDict();
  var dataGridViewComboBoxCell = new DataGridViewComboBoxCell
  {
    DataSource = dict.Keys.ToList();
  };

  dataGridView[selectedColumn, selectedRow] = dataGridViewComboBoxCell;
}

Функция немного упрощена, чтобы избежать ненужных осложнений.

1 Ответ

0 голосов
/ 09 мая 2018

Вам необходимо включить редактирование и установить фокус в соответствующей ячейке, чтобы раскрывающийся список со списком открывался одним щелчком мыши.

 private void suggestButton_Click(object sender, EventArgs e)
        {
            var dict = getSuggestDict();
            var dataGridViewComboBoxCell = new DataGridViewComboBoxCell
            {
                DataSource = dict.Keys.ToList()
            };


            dataGridView[selectedColumn, selectedRow] = dataGridViewComboBoxCell;
            dataGridView.CurrentCell = dataGridView.Rows[selectedRow].Cells[selectedColumn];
            dataGridView.BeginEdit(false);
        }

Отредактировано: Перемещена установка текущей ячейки и включение режима редактирования в начале обработчика события нажатия кнопки, чтобы обеспечить ее переход в режим редактирования при замене содержимого выпадающего списка.

private void suggestButton_Click(object sender, EventArgs e)
{    
  dataGridView.CurrentCell = dataGridView.Rows[selectedRow].Cells[selectedColumn];
   dataGridView.BeginEdit(true);

     var dict = getSuggestDict();
     var dataGridViewComboBoxCell = new DataGridViewComboBoxCell
     {
        DataSource = dict.Keys.ToList()
     };


dataGridView[selectedColumn, selectedRow] = dataGridViewComboBoxCell;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...