1

エンティティ フレームワークを使用して Northwind データベースの Customer テーブルと Orders テーブルを結合したいのですが、'DataBind' でエラーが発生します。

    public void CustomerJoin()
    {
        using (var ctx = new northwindContext())
        {
            var found = from mycust in ctx.Customers
                        join cust in ctx.Orders on mycust.CustomerID equals cust.CustomerID
                        select new { Customer = mycust, Order = cust }; ;
            grdEmployees.DataSource = found.ToList();
            grdEmployees.DataBind();
        }
    }

grdEmployees.DataBind(); のエラー メッセージ: ID 'grdEmployees' の GridView のデータ ソースには、列を生成するためのプロパティまたは属性がありませんでした。データ ソースにコンテンツがあることを確認する

4

1 に答える 1

1

あなたがバインドしているとき、あなたはおそらく間違っている

grdEmployees.DataSource = found.ToList(); 

表示するすべての列のプロパティを持つクラスを作成する必要があります

このようなものを見つけて繰り返します

list<newClassToShow> itemsToBind = new <newClassToShow>();
foreach(var item in found.ToList())
{
   newClassToShow it = new newClassToShow()
it.property1 = item.column1;//do this for all item
itemToBind.add(it);
}

リストを gridEmployee にバインドします

于 2013-02-27T07:55:42.070 に答える