我在winform窗体中放了一个DataGridView控件
然后给控件的数据源赋为一个ArrayList对象,同时设置控件的列对应的DataPropertyName属性
这样窗体加载的时候,就正确显示了ArrayList里的数据。
现在问题关键是,当在ArrayList对象中新增了一条数据的时候,再次调用this.datagrieview1.DataSource=objArrayList;时候,并没有刷新DataGridView里的数据?

解决方案 »

  1.   

    ArrayList dvSource=(ArrayList)this.datagridview1.DataSurce;
    dvSource.Add("Test");this.datagridview1.DataSource=dvSource;
      

  2.   

    this.datagrieview1.DataSource=null;
    this.datagrieview1.DataSource=objArrayList;
      

  3.   

    加一句
    ArrayList dvSource=(ArrayList)this.datagridview1.DataSurce;
    dvSource.Add("Test");
    this.datagridview1.DataSource=null;
    this.datagridview1.DataSource=dvSource;
      

  4.   

    当this.datagridview1.DataSource=null;的时候,控件DataGridView所设置列的绑定列属性都没有了,这个我用过的
      

  5.   

    你确定绑定GridView的ArrayList有添加的数据吗?如有不应该重新绑定时不显示数据呀
      

  6.   

    ArrayList dvSource=(ArrayList)this.datagridview1.DataSurce;  //A
    dvSource.Add("Test");                                        //Bthis.datagridview1.DataSource=dvSource; 我调试过了,A处dvSource的Count和B处的dvSource.Count是不一样的,确定有添加数据
      

  7.   

    this.datagridview1.DataSource=null;
    之后所有的数据都要重置,它是不会自动设一下就刷新了的。
    还要手动刷新,原来是怎么设的数据源就再重新设一遍。
      

  8.   

    用刷新方法
    datagridview1.refresh();
      

  9.   


    生成和设置列的代码写成一个方法绑定完再调用一次不就得了
    然后把自动生成列的属性设置为false
      

  10.   

    数据重新绑定后刷新datagridview 
      

  11.   

    this.datagrieview1.DataSource=null;
    this.datagrieview1.DataSource=objArrayList;  这样子可以啊