将对象列表绑定到Datagridview

时间:2015-01-30 10:13:56

标签: c# datagridview

我无法将List<Person>绑定到DataGridView

public class Person
{
    public Person(string name, bool likesbacon)
    {
        Name = name;
        LikesBacon = likesbacon;
    }
    public string Name { get; }
    public bool LikesBacon { get; set; }
}

DataGridView有2列,TextBoxColumn代表名称,CheckBoxColumn代表LikesBacon。正确设置了DataPropertyName,并按预期创建了DataGridView

public MyForm(List<Person> persons)
{
    InitializeComponent();
    dgv.AutoGenerateColumns = false;
    dgv.DataSource = persons;
}

但是当我点击CheckBox时没有任何反应(dgv的readonly属性设置为false)。当我逐步调试时,我发现每当鼠标悬停DataGridView的单元格时,调试器就会在循环中进入该属性,只要鼠标指针位于单元格上方。

因此,我无法通过dgv更改Person的属性。我做错了什么?

1 个答案:

答案 0 :(得分:0)

将列的ReadOnly属性更改为false后,我能够使其工作。 :捂脸: