У меня есть требование показать выпадающий список в одну строку из нескольких строк. Мои dataGridView имеет 2 столбца (параметр и значение), и я добавляю 3 строки динамически в код. Для всех трех строк текстовые тексты являются фиксированными и не могут быть изменены пользователем. Для первой строки текст параметра – «prm1», а текст значения будет выбран из выпадающего списка. другие 2 строки, текст значения будет текстовым полем, введенным пользователем. Я попытался выполнить поиск, но не смог найти ответ. Пожалуйста, помогите мне здесь.
Можно заменить определенные ячейки DataGridView во время выполнения – например, в вашей ситуации, когда вы хотите, чтобы в ячейке вы указывали combobox, вы можете иметь DataGridViewTextBoxColumn и заменять ячейку в первой строке. Что-то вроде этого:
void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) { List books = new List (); books.Add(new Book { bookID = 1, bookName = "Test-Driven Development (Kent Beck)" }); books.Add(new Book { bookID = 2, bookName = "Refactoring (Martin Fowler)" }); books.Add(new Book { bookID = 3, bookName = "Code Complete: 2nd Edition (Steve McConnell)" }); DataGridViewComboBoxCell c = new DataGridViewComboBoxCell(); c.DataSource = books; c.Value = 1; c.ValueMember = "bookID"; c.DisplayMember = "bookName"; dataGridView1.Rows[0].Cells[0] = c; }
Вы также можете сделать это другим способом и заменить определенную ячейку combobox из DataGridViewComboBoxColumn с помощью DataGridViewTextBoxCell.
Одна вещь, хотя – пока это будет работать, лучшее удобство использования может исходить только от установки некоторых комбинированных полей для чтения.
Пожалуйста, рассмотрите возможность добавления столбца ComboBox в сетку с помощью контекстного меню контекстного меню « Редактировать столбцы …» сетки в Designer Design . Чтобы добавить столбец, потребуется щелкнуть по кнопке « Добавить» диалогового windows « Редактировать столбцы » и затем выбрать « Тип = DataGridViewComboBoxColumn
как показано ниже:
Обратите внимание : для заполнения выпадающего списка ComboBox вам также потребуется использовать свойство Items или DataSource для столбца.