VS 2010 C#误识别类DataTable

时间:2014-07-16 02:14:04

标签: c# visual-studio-2010 datagridview datatable

我试图将SQL查询加载到DataGridView,因此我使用DataTable加载SqlDataReader作为数据网格视图的dataSource。我有一个来自我的教师的示例程序执行完全相同的代码,但我只在我的项目中得到错误:

DataTable table = new DataTable();
table.Load(reader);
DataGridView.DataSource = table;

编译时错误:

Error   1   The event 'System.Windows.Forms.Form.Load' can only appear on the left hand side of += or -=

我在查看自动完成时发现了这一点,自动完成提供的所有方法都有" EventHandler表单"。

我仔细检查了我没有以#34; table"之后命名的任何表格。 (当我将光标移动到'表格时显示

(local variable) DataTable table

为什么vs说Load method来自Form

ps:我已经包含/使用System.Data

1 个答案:

答案 0 :(得分:0)

听起来你有一个名为DataTable的Form。尝试指定您定义变量的System.Data.DataTable

System.Data.DataTable table = new System.Data.DataTable();
table.Load(reader);
DataGridView.DataSource = table;

顺便说一下,将DataGridViewDataGridView命名为极其危险的原因。请永远不要在.NET框架中声明的内容之后命名自定义类型,尤其是在您引用的程序集中以及 double ,尤其是在类中using的程序集中。如果需要,您甚至可以将其重命名为DataGridView1,尽管更具描述性的内容更为可取。

否则,听起来你正在调用

的内容
this.Load = Form1_Load;

相比
this.Load += Form1_Load;