我试图将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
答案 0 :(得分:0)
听起来你有一个名为DataTable的Form
。尝试指定您定义变量的System.Data.DataTable
。
System.Data.DataTable table = new System.Data.DataTable();
table.Load(reader);
DataGridView.DataSource = table;
顺便说一下,将DataGridView
,DataGridView
命名为极其危险的原因。请永远不要在.NET框架中声明的内容之后命名自定义类型,尤其是在您引用的程序集中以及 double ,尤其是在类中using
的程序集中。如果需要,您甚至可以将其重命名为DataGridView1
,尽管更具描述性的内容更为可取。
否则,听起来你正在调用
的内容this.Load = Form1_Load;
与
相比this.Load += Form1_Load;