为什么数据源在Datagridview中显示为null,而它已经被分配了数据
本文关键字:分配 数据 Datagridview 数据源 显示 null 为什么 | 更新日期: 2023-09-27 17:50:14
我用下面的代码从返回的数据表中填充datagridview
DataTable dtCourse = Course.GetAllCourses();
for (int i = 0; i < dt.Rows.Count; i++)
{
dgvAvailableCourses.Rows.Add();
dgvAvailableCourses[0, i].Value = dtCourse.Rows[i][0];
//set image
dgvAvailableCourses[1, i].Value = SMSV100.Properties.Resources.media_playback_stop_6;
dgvAvailableCourses[2, i].Value = dtCourse.Rows[i][1];
dgvAvailableCourses[3, i].Value = dtCourse.Rows[i][2];
dgvAvailableCourses[4, i].Value = dtCourse.Rows[i][3];
dgvAvailableCourses[5, i].Value = dtCourse.Rows[i][4];
dgvAvailableCourses[6, i].Value = dtCourse.Rows[i][5];
dgvAvailableCourses[7, i].Value = dtCourse.Rows[i][6];
Console.WriteLine(dgvAvailableCourses.DataSource);
}
dgvAvailableCourses
为DataGridview
dtCourses
为GetAllCourses()
datatable
正如您所看到的,我已经将datagridview
的列映射到datatable
的列并添加了行。有趣的是,当我试图使用console.writeline()
来读取datasource
时,我使用了一个断点,datasource
显示为空。
为什么这个数据源显示为null,而它已经通过循环分配了数据?
我如何克服这个,我需要访问这个datagridview
的底层表,以便做一些计算,但我不能这样做,因为它显示为空?
PS- Datagridview
显示数据没有任何问题,但datasource
显示null
由于
我猜你没有绑定DataGridView到你的源,你只是手动添加行。如果你做dgvAvailableCourses.DataSource = dtCourse
,我认为你将有绑定完成"正确"(我假设你有一个很好的理由使用循环,而不是仅仅设置DataSource属性)。