1

昔 (つまり先月) に戻ると、winforms グリッドをデータセットにバインドして、オフにして実行していました。デフォルトでは、グリッドの内容を更新できます。(Excel スプレッドシートに似ています)

しかし、グリッドを Linq データソース (Linq to SQL または Linq to Entities) にバインドすると、winforms グリッドが読み取り専用モードにロックされます。更新モードを有効にするにはどうすればよいですか?

4

3 に答える 3

1

おそらく、プロジェクションで匿名型を使用していますか? すなわち

select new {Foo = order.Foo, Bar = custmoer.Bar};

(または類似) - C# の匿名型は不変であるため、はい: 読み取り専用のように見えます。ただし、通常のクラス (LINQ で生成されたクラス、または独自のクラス) は編集可能である必要があります。覚えておくべき唯一のことは、( /オブジェクト.ToList()を与えるのではなく) 任意のクエリを呼び出すことです。IEnumerable<T>IQueryable<T>

于 2009-04-15T05:49:13.323 に答える
1

GetNewBindingList「より良い」バインディングについては、さまざまなクラスのメソッドを見てください。

そして、終わったら電話SubmitChangesすることを忘れないでください。

于 2009-04-15T05:54:36.993 に答える
0

解決策を見つけました。ラムダ式を使用してエンティティをフィルタリングし、エンティティに直接バインドします。

于 2009-05-19T17:57:58.063 に答える