3

.net でオブジェクトを Bindable にする理由は何ですか?

バインド可能にするのは Ienumerable クラスであると一度答えられました。

ただし、 DataTAble ( System.Data) を見ると、 Ienumerable が実装されていません。

public class DataTable : MarshalByValueComponent, 
                         IListSource, 
                         ISupportInitializeNotification,
                         ISupportInitialize, 
                         ISerializable, 
                         IXmlSerializable
{...}

それでも、次のように書くことができます。

myObj.DataSource=myDataTable;
myObj.Bind();

ヘルプ ?

4

3 に答える 3

2

DataTableIListSourceを提供することによって実装しますDataTable.DefaultView

DataViewIBindingListバインディング ターゲットが実際に使用する実装

于 2012-07-16T07:16:24.020 に答える
0

うーん、私が理解していることから、どのオブジェクトもWPFバインディングにバインド可能です。ただし、値の変更はデフォルトでは通知されないため、INPC、INCCを実装する必要があります。winformsの場合、状況は非常に異なります。したがって、具体的にどのタイプのバインディングについて質問するかによって異なります。

于 2012-07-16T07:20:14.833 に答える
0

MSDN から

DataGridView クラスは、標準の Windows フォーム データ バインディング モデルをサポートします。つまり、データ ソースは、次のインターフェイスのいずれかを実装する任意の型にすることができます。

1 次元配列を含む IList インターフェイス。

DataTable や DataSet クラスなどの IListSource インターフェイス。

BindingList クラスなどの IBindingList インターフェイス。

BindingSource クラスなどの IBindingListView インターフェイス。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource.aspx

于 2012-07-16T07:03:30.770 に答える