次の方法で共有


BindingSource コンポーネントの概要

BindingSource コンポーネントは、基になるデータ ソースにコントロールをバインドするプロセスを簡略化するように設計されています。 BindingSource コンポーネントは、他のコントロールがバインドするコンジットとデータ ソースの両方として機能します。 これにより、基になるデータの一覧にコマンドを渡しながら、フォームのデータ接続の抽象化が提供されます。 さらに、コンポーネント自体がデータ ソースとして機能するように、データを直接追加できます。

仲介者としての BindingSource コンポーネント

BindingSource コンポーネントは、フォーム上の一部またはすべてのコントロールのデータ ソースとして機能します。 Visual Studio では、BindingSource は、DataBindings プロパティを使用してコントロールにバインドできます。プロパティ ウィンドウからアクセスできます。 「方法 : デザイナーを使用して Windows フォーム コントロールを BindingSource コンポーネントにバインドする」も参照してください。

BindingSource コンポーネントは、オブジェクトの 1 つのプロパティや、ArrayListなどの基本的なコレクションなどの単純なデータ ソースと、データベース テーブルなどの複雑なデータ ソースの両方にバインドできます。 BindingSource コンポーネントは、バインディングおよび通貨管理サービスを提供する仲介役として機能します。 デザイン時または実行時に、DataSource プロパティと DataMember プロパティをそれぞれデータベースとテーブルに設定することで、BindingSource コンポーネントを複雑なデータ ソースにバインドできます。 次の図は、BindingSource コンポーネントが既存のデータ バインディング アーキテクチャに適合する場所を示しています。

バインディング ソースとデータ バインディング アーキテクチャ

手記

デザイン時に、データ ウィンドウから空のフォームにデータベース テーブルをドラッグするなどの一部のアクションでは、BindingSource コンポーネントが作成され、基になるデータ ソースにバインドされ、データ対応コントロールがすべて 1 回の操作で追加されます。 Visual Studioのデータへの Windows フォーム コントロールのバインドに関するページも参照してください。

データ ソースとしての BindingSource コンポーネント

バインド先のリストを最初に指定せずに BindingSource コンポーネントへの項目の追加を開始すると、コンポーネントはリスト スタイルのデータ ソースのように動作し、追加された項目を受け入れます。

さらに、AddingNew イベントを使用してカスタムの "AddNew" 機能を提供するコードを記述できます。これは、AddNew メソッドがリストに追加される前に呼び出されたときに発生します。 詳細については、「BindingSource コンポーネント アーキテクチャの」を参照してください。

フォーム上のデータを移動する必要があるユーザーの場合、BindingNavigator コンポーネントを使用すると、BindingSource コンポーネントと連携して、データの移動と操作を行うことができます。 詳細については、「BindingNavigator コントロール」を参照してください。

データ操作

the: BindingSource は、すべてのバインディングの CurrencyManager として機能するため、データ ソースに関する通貨および位置情報へのアクセスを提供できます。 次の表は、BindingSource コンポーネントが基になるデータにアクセスして操作するために提供するメンバーを示しています。

メンバー 説明
Current プロパティ データ ソースの現在の項目を取得します。
Position プロパティ 基になるリスト内の現在の位置を取得または設定します。
List プロパティ DataSource および DataMember の評価結果を一覧で取得します。 DataMember が設定されていない場合は、DataSourceで指定されたリストを返します。
Insert メソッド リスト内の指定したインデックス位置に項目を挿入します。
RemoveCurrent メソッド リストから現在の項目を削除します。
EndEdit メソッド 基になるデータ ソースに保留中の変更を適用します。
CancelEdit メソッド 現在の編集操作を取り消します。
AddNew メソッド 基になるリストに新しい項目を追加します。 データ ソースが IBindingList を実装し、AddingNew イベントから項目を返す場合は、この項目を追加します。 それ以外の場合、要求はリストの AddNew メソッドに渡されます。 基になるリストが IBindingListでない場合、項目は、そのパブリック パラメーターなしのコンストラクターを使用して自動的に作成されます。

並べ替えとフィルター処理

通常は、データ ソースの順序付けられたビューまたはフィルター処理されたビューを操作する必要があります。 次の表に、BindingSource コンポーネント データ ソースが提供するメンバーを示します。

メンバー 説明
Sort プロパティ データ ソースが IBindingListの場合、並べ替えおよび並べ替え順序の情報に使用される列名を取得または設定します。 データ ソースが IBindingListView であり、高度な並べ替えをサポートしている場合は、並べ替えと並べ替え順序の情報に使用される複数の列名を取得します
Filter プロパティ データ ソースが IBindingListViewの場合は、表示される行をフィルター処理するために使用する式を取得または設定します。

関連項目