我想在数据表中获取我的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"
答案 0 :(得分:1)
您必须在访问任何属性之前初始化dgv_schedule。当您尝试在null时访问引用类型的属性时,会出现NullReferenceException。
顺便说一句,不要在循环内连接字符串,因为每次都会创建一个新字符串,因此你会让GC处于压力之下并浪费内存。使用类StringBuilder代替串联字符串。