C# 如何在DataGrid控件中加载表?
当我尝试将表加载到DataGrid控件时,它显示了以下错误 无法将类型“TRAINING.Employee”隐式转换为 “System.Collections.IEnumerable”。存在显式转换(正在进行) 你错过了一个演员吗 下面是我写的代码C# 如何在DataGrid控件中加载表?,c#,wpf,linq-to-sql,C#,Wpf,Linq To Sql,当我尝试将表加载到DataGrid控件时,它显示了以下错误 无法将类型“TRAINING.Employee”隐式转换为 “System.Collections.IEnumerable”。存在显式转换(正在进行) 你错过了一个演员吗 下面是我写的代码 MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext(); Employee Add = new Employee(); Add.EmpID = 5039; Add.Age = 25; Ad
MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext();
Employee Add = new Employee();
Add.EmpID = 5039;
Add.Age = 25;
Add.Address = "West Street";
MyDB.Employees.InsertOnSubmit(Add);
MyDB.SubmitChanges();
grd_1.ItemsSource =Add;
我认为您应该将网格绑定到一个员工列表,如下所示:
List<Employee> lst = new List<Employee>();
Emplyee emp1 = new Employee();
lst.Add(emp1);
grid.ItemsSource = lst;
List lst=new List();
Employee emp1=新员工();
第一次增补(emp1);
grid.ItemsSource=lst;
项目资源属性必须是某种类型的IEnumerable
所以如果你把代码的结尾改成
IEnumerable<Employee> adds = new [] { Add };
grd_1.ItemsSource = adds;
IEnumerable adds=new[]{Add};
grd_1.ItemsSource=相加;
这可能会有所帮助,但是,您真的希望使用网格显示一名员工,并为每个属性显示一列吗?您真的希望每个属性都有一个名称-值对的网格吗?可能您只需要设置
grd_1.ItemsSource = MyDB.Employees;
因为您的员工是一个
IEnumerable
。我不确定添加的项目是否会立即显示,但我认为最晚在提交更改后会显示。网格的数据源应该实现IEnumerable,如列表