Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过BindingList从对象获取列表或数组属性到DataGridView_C#_Datagridview_Bindinglist - Fatal编程技术网

C# 通过BindingList从对象获取列表或数组属性到DataGridView

C# 通过BindingList从对象获取列表或数组属性到DataGridView,c#,datagridview,bindinglist,C#,Datagridview,Bindinglist,我只能从(在本例中)对象“Person”获取字符串属性以填充datagridview单元格(每行一个对象)。但我需要使用多个值(多个单元格)动态创建这些属性,这些值属于DataGridView的DataPropertyName中定义的同名属性。像这样: 原因是我需要将一个对象绑定到每一行,以便以后对其进行操作。我尝试使用数组,但DataGridView DataPropertyName中的每个单元格都需要一个具有名称的属性。导致一个单元格包含文本“String[]Array”。我也不知道是否或如

我只能从(在本例中)对象“Person”获取字符串属性以填充datagridview单元格(每行一个对象)。但我需要使用多个值(多个单元格)动态创建这些属性,这些值属于DataGridView的DataPropertyName中定义的同名属性。像这样:

原因是我需要将一个对象绑定到每一行,以便以后对其进行操作。我尝试使用数组,但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;
}
public Form1()
{
初始化组件();
this.ColumnId.DataPropertyName=“Id”;
this.ColumnFirstName.DataPropertyName=“FirstName”;
列表=新列表();
list.Add(newperson());
BindingList人员=新的BindingList(列表);
persons.AllowNew=真;
this.dataGridView1.DataSource=个人;
dataGridView1.AllowUserToAddress=true;
}
Person类(代码只是一个示例):

公共类人物
{
private Dictionary lista=新字典();
公众人士()
{
列表a.添加(“Id”、“标识人”);
列表a.添加(“名字”、“Fornavn”);
}
公共词典列表
{
得到
{
返回列表a;
}
设置
{
lista=值;
}
}
}
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;
        }
    }
}