我想在C#中创建一个datagridview1
有3行(Number,Name and Country)
如果我想在combobox
datagridview1
行中的是(Number,Name and Country)
是.........一个选定的组合框下拉列表
Number的组合框有5个选择或5个收集项("1","2","3","4","5")
名称的组合框有5个选择或5个收集项("A","B","C","D","E")
Country of combobox有5个选择或5个收集项("Amerika","England","Indonesia","Australia","India")
你可以帮我怎么做?
答案 0 :(得分:3)
每列需要是DataGridViewComboBoxColumn
.
此列类型会显示各种属性,以便您正确设置列组合框选项。
对于非常简单的情况,您要求您可以执行此类操作(仅限于此处的国家/地区列):
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.HeaderText = "Country";
col.Name = "Country";
col.Items.AddRange("Amerika","England","Indonesia","Australia","India");
dataGridView1.Columns.Add(col);
现在,您可以在网格中找到可用的国家/地区的组合框。
还有许多其他选项可以为您提供更大的灵活性和强大功能。例如,如果您的DataGridView具有包含“ChosenCountry”属性的DataSource,则可以在列和DataSource之间设置绑定。
col.DataPropertyName = "ChosenCountry";
更进一步,您可以为这些国家/地区使用ID,而不是依赖纯文本:
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";
除此之外,您还需要提出详细说明确切方案和问题的问题,以获得更具体的答案。