combobox的datasource绑定了一个list泛型集合,因为泛型集合的内容会更改,所以每次list集合的内容改了之后。我会先把combobox的datasource设置为NULL, 然后再绑定list泛型集合。如此循环设置了几次后 数据异常了,datasource的数据和list集合的数据不一样了。 combobox的displaymember显示的值变成list泛型集合的泛型类型名称了。就是list<V>里面V的类型了  这什么情况?displaymember和valuemember也没设置错误。调试看了下,就是数据不同。急死人了 各位大侠帮帮忙啊

解决方案 »

  1.   

    bindinglist不能添加一组啊。用list不是也能绑定在datasource上面吗?。但是他数据异常 这个不知道怎么解决啊。
      

  2.   

    List<T>可以作为数据源的,但是因为要刷新数据你就反复null再绑定就不对了
    可以利用BindingSource来很好地解决这个问题
    private void InitSample()
    {
       List<Employee> listSource = new List<Employee>();
       BindingSource bs = new BindingSource();
       bs.DataSource = listSource;
       control.DataSource = bs;
       control.DisplayMember = "Name";
       control.ValueMember = "Id";
    }