我只能从(在这个例子中)对象“Person”中获取字符串属性来填充datagridview单元格(每行一个对象)。但我需要使用属于属性的多个值(多个单元格)动态创建这些属性,这些属性与DataGridView的DataPropertyName中定义的名称相同。像这样:
原因是我需要将一个对象绑定到每一行以便以后操作它。我试图使用Array,但DataGridView DataPropertyName中的每个单元格都需要一个带有名称的属性。导致一个单元格包含文本“String [] Array”。我也不知道是否或如何将DataPropertyName放在数组中,后跟单元格值。
可以在这里使用词典,还是别的什么?
public Form1()
{
InitializeComponent();
this.ColumnId.DataPropertyName = "Id";
this.ColumnFirstName.DataPropertyName = "FirstName";
List <Person> list = new List<Person>();
list.Add(new Person());
BindingList<Person> persons = new BindingList<Person>(list);
persons.AllowNew = true;
this.dataGridView1.DataSource = persons;
dataGridView1.AllowUserToAddRows = true;
}
Person类(代码只是一个例子):
public class Person
{
private Dictionary<string, string> lista = new Dictionary<string, string>();
public Person()
{
lista.Add("Id", "Identifikator");
lista.Add("FirstName", "Fornavn");
}
public Dictionary<string, string> Lista
{
get
{
return lista;
}
set
{
lista = value;
}
}
}