DataGridView
Windows フォーム アプリで人の一覧を表示したいと考えています。サービス レイヤーが Person オブジェクトのリストを返すようにします (例: IList<Person>
)。リストの変更を に反映させたい、DataGridView
またはその逆を行いたい。私の理解では、 を使用すると でのBindingSource
作業が容易になりDataGridView
ます。私の質問は、双方向のデータバインディングが機能することです。必要ですか:
//pseudo code
BindingSource.DataSource = IBindingList<Person>
または私はすることができます:
BindingSource.DataSource = IList<Person>
違いは何ですか?リストに変更を加えた場合、DataGridView
どちらの方法でも更新されますか? を使用する必要がある場合、 (依存関係を作成するため)サービス層からBindingList
を返すのは少し不安定に思えますが、それを回避する方法はありますか?BindingList
Microsoft はBindingList
(備考セクションで)
http://msdn.microsoft.com/en-us/library/ms132679.aspxについて述べています。
BindingSource
「しかし、典型的なソリューション プログラマーは、 を直接使用する代わりに、 などのデータ バインディング機能を提供するクラスを使用しBindingList<T>
ます。」