如何将泛型集合对象绑定到dataGridView中

解决方案 »

  1.   


    是的, 事实上, DataGridView 的 DataSource 属性是一个 object 类型的,
    当为这个属性赋值后, DataGridView 内部会判断:
    对象是否实现以下接口:
    IList
    IListSource
    IBindingList
    IBindingListView根据实现的接口不同, 特性也有差别, 比如是否可以新增, 是否可以排序等等.
      

  2.   

    List<object> obj=new List<object>();this.dataGridView.dateSource=obj;这样对吗。 其他地方都不要设置吗。??
      

  3.   


    刚试验了一个 List<Employee> 的集合, 可以自动生成列的
      

  4.   

    哦,可以自动生成列,是那个集合里面的每个属性吗?
    Dictionary<k,v>这个也可以自动生成列吗?
      

  5.   

    刚才我也试了,List<T>是可以自动生成列。
    但是Dictionary<K,V>不行。
      

  6.   

    dic 的 Keys  Values 都不够强悍到能绑定
      

  7.   

    哦,那我做的一个程序有个功能用Dic存储的
    那怎么绑定到dataGridView List<Dictionary<string,object>> 
    这样可以绑定上去。但是要的那个效果
    有没有其他办法?
      

  8.   

    弄个 BindingSource , DataSource = dic.Values;dgv.DataSource = 那个bindingsource
      

  9.   

     BindingSource?
    怎么弄?
    能举个列子吗、
    我是初学。
      

  10.   


          System.Windows.Forms.BindingSource bs = new System.Windows.Forms.BindingSource(this.components);
          bs.DataSource = dic.Values;
          this.dataGridView1.DataSource = bs;// dic.Values 不行
      

  11.   

    this.components 可以不要 new System.Windows.Forms.BindingSource();
      

  12.   

    请各位高手帮帮忙,怎样将dictionary 与 datgridview 绑定
      

  13.   

    比如有泛型集合 List<父类对象> dic = new List<父类对象>添加不同的子类对象
    dic.Add("123",子类对象1);
    dic.Add("123",子类对象2);
    tagridview.datasource=new List<父类对象>(list);比如有泛型集合 Dictionary<string, 父类对象> dic = new Dictionary<string, 父类对象>();
    添加不同的子类对象
    dic.Add("123",子类对象1);
    dic.Add("123",子类对象2);
    tagridview.datasource=(form x in dic secect new Key = v.Key,Value = v.Value.你要的) 
    如果这样不行,你就用数组写吧,你绑定对象一定是属性,不能是方法
    所以用数组,多快好省,但比dictionary写的字多点