将2D数组转换为数据表

时间:2018-04-05 09:49:45

标签: c# datagridview datatable

我想在数据表中获取我的2D数组,然后在datagridview中获取数据表 这是我现在使用的代码:

在我的主要地方:

            string[,] values = new string[numbersOfRows, numbersOfColumns];
            DataTable dt = new DataTable();


            for (int i = 0; i < numbersOfColumns; i++)
            {
                dt.Columns.Add(values[0, i]);
            }

            for (int j = 2; j < numbersOfRows; j++)
            {
                DataRow row = dt.NewRow();
                for (int i = 0; i < numbersOfColumns; i++)
                {
                    row[i] = values[j, i];
                }
                dt.Rows.Add(row);
            }

            Datagridview dgv = new Datagridview(dt);
            dgv.Show();

cw不显示行
在我的datagridview中:

public Datagridview(DataTable dt)
{
    dgv_schedule.DataSource = dt.DefaultView; //here I get the exception
    InitializeComponent();
}

我做错了什么,当我运行程序时,我得到"System.NullReferenceException"

1 个答案:

答案 0 :(得分:1)

您必须在访问任何属性之前初始化dgv_schedule。当您尝试在null时访问引用类型的属性时,会出现NullReferenceException。

顺便说一句,不要在循环内连接字符串,因为每次都会创建一个新字符串,因此你会让GC处于压力之下并浪费内存。使用类StringBuilder代替串联字符串。