Коллекции предметов ComboBox в Datagrid C # - PullRequest
0 голосов
/ 31 июля 2011

Я хочу сделать datagridview1 в C #

это имеет 3 строки (Number,Name and Country)

Если я хочу дать combobox в datagridview1

в строках вверх - название или описание (Number,Name and Country)

ниже - это ......... выбранное выпадающее меню со списком

выпадающий список с 5 вариантами выбора или 5 предметами коллекции ("1","2","3","4","5")

В выпадающем списке Name есть 5 вариантов выбора или 5 предметов коллекции ("A","B","C","D","E")

в выпадающем списке страны есть 5 предметов выбора или 5 предметов коллекции ("Amerika","England","Indonesia","Australia","India")

Можете ли вы помочь мне, как это сделать ???

1 Ответ

3 голосов
/ 31 июля 2011

Каждый столбец должен иметь тип 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";

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

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