在Compact Framework上的c#中数据绑定列表

时间:2009-05-19 07:48:05

标签: c# data-binding compact-framework

我目前正在学习使用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;
    }

1 个答案:

答案 0 :(得分:4)

将您对“人”的声明更改为:

class People : BindingList<Person> { }

普通旧List<T>在列表更改时没有告知数据绑定UI的基础事件。使用BindingList<T>可以帮助你。