因为项目涉及实时运算,测试发现数组的速度比dataTable快多了,所以要用数组.
msdn上写明了数组可以做为DataGrid的数据源,可惜一直不能正常显示,请问具体应该怎么操作

解决方案 »

  1.   

    把那个二位数组转换成datatable
      

  2.   

    将数据转为,用ArrayList绑DataGrid
      

  3.   

    将数据转为ArrayList,用ArrayList绑DataGrid
      

  4.   

    我刚查了查,msdn中没说可以用数组来DataGrid的数据源呀
      

  5.   

    改为一维数组。public class myData
    {
      public XXX
      {
         get{};
       }
       public YYY
        {
         get{}
        }
     
    }
    myData[] mydatas = new .... 
    DataGrid1.DataSource = mydatas;
      

  6.   

    将数据转为ArrayList,用ArrayList绑DataGrid
      

  7.   

    转成ArrayList或DataTable就不用说了,严重影响速度,hdt(倦怠)的办法是可行的, 只不过要建立类,在我的程序里,数组的秩是运行时计算出来的,所以这个办法也不能解决问题
      

  8.   

    lz:  虽然msdn如下说:IList 接口,包括一维数组。IListSource 接口,例如,DataTable 和 DataSet 类。IBindingList 接口,例如,BindingList 类。IBindingListView 接口,例如,BindingSource 类。对于数组绑定,我从来就没成功过,问过N多人,也找不出原因(刚刚也问过)
    那么,我就只能用其他方法补救:
    1、DataSet或DataTable 。
    2、手工添加DataGridViewRow 。   以上是我的经验,仅供参考。。
      

  9.   

    原因:
    BaseList控件数据绑定时,对于行数据,是通过ienumable里来获得有多少行,所以Arry,ArrayList ,DataTable , DataSet皆可,
    对于列数据,就是到某一具体行,具体字段的数据,是通过公开属性获得的,所以
    二维数组不能直接用
      

  10.   

    想直接将二维数组中的数据绑定到DataGrid上是办不到的..换个思路..
      

  11.   

    TO:只不过要建立类,在我的程序里,数组的秩是运行时计算出来的,所以这个办法也不能解决问题既然如此,那还是用DataTable or ArrayList吧..
      

  12.   

    將二維中的一維數組聲明為一個對象,然後將這些對象加入到ArrayList中,再將DataGrid.DataSource指向該ArrayList就行了