Каждый столбец должен иметь тип DataGridViewComboBoxColumn
.
Этот тип столбца затем предоставляет различные свойства, которые позволят вам правильно настроить параметры комбинированного списка столбцов.
Для очень простого случая, который вы запрашиваете, вы можете сделать что-то вроде этого (просто, скажем, столбец страны здесь):
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.HeaderText = "Country";
col.Name = "Country";
col.Items.AddRange("Amerika","England","Indonesia","Australia","India");
dataGridView1.Columns.Add(col);
Теперь у вас есть столбец комбинированного списка в вашей сетке с доступными странами.
Есть много других опций, которые дают вам больше гибкости и мощности.Если, например, ваш DataGridView имеет DataSource, который включает в себя свойство «ChosenCountry», вы можете установить привязку между вашим столбцом и DataSource.
col.DataPropertyName = "ChosenCountry";
Еще один шаг, вы можете использовать идентификатор для этих стран, а не полагаться на простой текст:
List<Country> countries = new List<Country>();
countries.Add(new Country { Id = 0, Name = "Amerkia" });
countries.Add(new Country { Id = 1, Name = "England" });
// and so on or even better get this from some external store using a query
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
// Now you can use the CheckBoxColumn datasource:
col.DataSource = countries;
// And you set the Display and value members and the DataPropertyName:
col.DisplayMember = "Name";
col.ValueMember = "Id";
col.DataPropertyName = "CountryId";
Помимо этого вам нужно будет задать вопросы, подробно описывающие вассценарий и проблемы, чтобы получить более конкретный ответ.