我目前正在学习使用VS2008中的c#开发.net紧凑框架并进行数据绑定查询。该列表在Form1_Load中绑定得很好,但是当我向列表中添加其他人时,它们不会出现在dataGrid1中(尽管如果我删除并重新添加绑定它们会出现)。在我添加一个人之后,我有什么需要做的吗?
class Person
{
private string firstname;
private string surname;
public string FirstName { get { return firstname; } set { firstname = value; } }
public string Surname { get { return surname; } set { surname = value; } }
public Person(string F, string S)
{
this.firstname = F;
this.surname = S;
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
people.Add(new Person(tbFirstName.Text, tbSurname.Text));
}
class People : List<Person>
{
}
People people = new People();
private void Form1_Load(object sender, EventArgs e)
{
people.Add(new Person("Jim", "Jones"));
people.Add(new Person("Al", "Hill"));
people.Add(new Person("Darth", "Vader"));
dataGrid1.DataSource = people;
}
答案 0 :(得分:4)
将您对“人”的声明更改为:
class People : BindingList<Person> { }
普通旧List<T>
在列表更改时没有告知数据绑定UI的基础事件。使用BindingList<T>
可以帮助你。