C# 为什么数据源显示为Datagridview的null,而它';是否已为s分配了数据?
我有以下代码从返回的datatable填充datagridviewC# 为什么数据源显示为Datagridview的null,而它';是否已为s分配了数据?,c#,winforms,datagridview,ado.net,C#,Winforms,Datagridview,Ado.net,我有以下代码从返回的datatable填充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 dgvAvaila
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);
}
DataTable dtCourse=Course.GetAllCourses();
对于(int i=0;i
dgvAvailableCourses
是DataGridview
dtCourses
是从GetAllCourses()返回的datatable
如您所见,我已将datagridview
的列映射到datatable
的列,并添加了行。有趣的是,当我试图使用控制台读取数据源时,writeline()
我使用了一个断点,它显示数据源为空
为什么这个数据源显示为空,而它已经通过循环分配了数据
如何克服这个问题,我需要访问这个datagridview
的基础表,以便进行一些计算,但我不能这样做,因为它显示为null
PS-Datagridview
显示没有任何问题的数据,但它显示数据源的null
谢谢我猜您没有将DataGridView绑定到源代码,您只是手动添加行。如果您执行了dgvavavailablecourses.DataSource=dtcourses
,我认为您将“正确”地完成绑定(我假设您有充分的理由使用循环,而不仅仅是设置DataSource属性)。我猜您没有将DataGridView绑定到源代码,您只是手动添加行。如果您执行了dgvavavailablecourses.DataSource=dtcourses
,我认为您将“正确”地完成绑定(我假设您有充分的理由使用循环,而不仅仅是设置DataSource属性)。我猜您没有将DataGridView绑定到源代码,您只是手动添加行。如果您执行了dgvavavailablecourses.DataSource=dtcourses
,我认为您将“正确”地完成绑定(我假设您有充分的理由使用循环,而不仅仅是设置DataSource属性)。我猜您没有将DataGridView绑定到源代码,您只是手动添加行。如果您执行了dgvavavailablecourses.DataSource=dtcourses
,我认为您将“正确”地完成绑定(我假设您有充分的理由使用循环,而不仅仅是设置DataSource属性).yes'因为我不希望所有列都分配给datagriview:),所以在这种情况下,我需要创建绑定源?我认为您可以在设计时创建列,然后使用属性AutoGenerateColumns=false
。对于ASP.NET GridView,它的工作原理是这样的。否则,您可以在绑定列后隐藏/删除这些列。是的,因为我不希望所有列都分配给datagriview:),因此在这种情况下,我需要创建绑定源?我认为您可以在设计时创建列,然后使用属性AutoGenerateColumns=false
。对于ASP.NET GridView,它的工作原理是这样的。否则,您可以在绑定列后隐藏/删除这些列。是的,因为我不希望所有列都分配给datagriview:),因此在这种情况下,我需要创建绑定源?我认为您可以在设计时创建列,然后使用属性AutoGenerateColumns=false
。对于ASP.NET GridView,它的工作原理是这样的。否则,您可以在绑定列后隐藏/删除这些列。是的,因为我不希望所有列都分配给datagriview:),因此在这种情况下,我需要创建绑定源?我认为您可以在设计时创建列,然后使用属性AutoGenerateColumns=false
。对于ASP.NET GridView,它的工作原理是这样的。否则,可以在绑定列后隐藏/删除这些列。