1

テーブルをDataGridControlにロードしようとすると、次のエラーが表示されました

タイプ「TRAINING.Employee」を「System.Collections.IEnumerable」に暗黙的に変換することはできません。明示的な変換が存在します(キャストがありませんか?)。

コードの下に私が書いたもの

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;
4

3 に答える 3

1

グリッドを従業員のリストにバインドする必要があると思います。次のようになります。

List<Employee> lst = new List<Employee>();
Emplyee emp1 = new Employee();
lst.Add(emp1);
grid.ItemsSource = lst;
于 2012-06-29T11:37:09.423 に答える
1

プロパティは、何らかのタイプであるItemsSource必要があります。IEnumerable

したがって、コードの末尾を...に変更した場合

IEnumerable<Employee> adds = new [] { Add };
grd_1.ItemsSource = adds;

役立つかもしれませんが、実際にはグリッドを使用して、各プロパティの列を持つ1人の従業員を表示しますか?各プロパティの名前と値のペアのグリッドが実際に必要ですか?

于 2012-06-29T11:39:26.557 に答える
0

おそらくあなたは設定する必要があるだけです

grd_1.ItemsSource = MyDB.Employees;

あなたのTable<TEntity>従業員はですからIEnumerable。追加されたアイテムがすぐに表示されるかどうかはわかりませんが、遅くともSubmitChangesの後に表示されると思います。

于 2012-06-29T11:42:57.353 に答える