如何将一个二维数组添加到一个DataTable中?

解决方案 »

  1.   

    循环数组,绑定到DataTable中就行了
      

  2.   

    DataTable table2 = new DataTable("tb2");
     string[,] arr2 = new string[2, 3] { { "aa", "bb", "cc" }, { "aaa", "bbb", "ddd" } };        for (int i = 0; i < arr2.Rank; i++)
            {
                DataRow r = new DataRow();
                for (int j = 0; j <= arr2.GetUpperBound(arr2.Rank - 1); j++)
                {
                   这里怎样定义单元格,赋值,添加到行,datacolumns添加的是列啊
                    
                }
                table2.Rows.Add(r);        }
      

  3.   


    DataTable dt = new DataTable();
            DataColumn col = new DataColumn("depart", typeof(string));
            dt.Columns.Add(col);
            col = new DataColumn("subdepart", typeof(string));
            dt.Columns.Add(col);        DataRow dr = dt.NewRow();
            dr["depart"] = "信息部";
            dr["subdepart"] = "开发处";
            dt.Rows.Add(dr);        dr = dt.NewRow();
            dr["depart"] = "财务部";
            dr["subdepart"] = "会计核算处";
            dt.Rows.Add(dr);
            int rows = dt.Rows.Count;
            int cols = dt.Columns.Count;        string[,] myArray = new string[rows, cols];
            for (int i = 0; i < dt.Rows.Count; i++)   //DataTable转二维
            {
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    myArray[i,j] = dt.Rows[i][j].ToString();
                }
            }        dt.Rows.Clear();        for (int i = 0; i < myArray.GetLength(0); i++)   //二维转DataTable,GetLength(0)获得一维长度,GetLength(1)获得二维长度
            {
                string str = string.Empty;
                for (int j = 0; j < myArray.GetLength(1); j++)
                {
                    str += myArray[i, j] + ";";
                }
                str = str.Substring(0, str.Length - 1);
                dr = dt.NewRow();
                dr[0] = str.Split(';')[0];
                dr[1] = str.Split(';')[1];
                dt.Rows.Add(dr);
            }
      

  4.   

    1在循环里使用 table2 .LoadDataRow()即可,有关这个方法使用请参阅msdn2.你这个代码也可以不过有点问题, DataRow r = new DataRow(); 这句是没方法编译过地,datarow因为和table相关,这个是不可以单独new的,你可以使用DataRow r table2.NewRow()方法,然后用r.ItemArray属性来赋值