Binding と BindingSource と BindingList の違いとは?

オブジェクト 使用例 解説
Binding textBox1.DataBindings.Add(new Binding("Text", my, "ID")); インスタンスがバインディングの中継に使用される
BindingList データバインディングをサポートしたコレクション。Add等の追加も即座に反映される。コンボボックスやリストにデータソースとして登録すればSelectIndexが反映された該当コレクションがバインド側に反映される

BindingSource(IBindingListView)の要約

UIコントロールとデータソースとして扱いたいオブジェクトの仲介をしてくれるクラス

  • 双方向データバインドが利用できる
    • 特定のUIコントロールのプロパティと、データソースとなるオブジェクトの間に存在して両者を紐付け連結制御する
  • データバインドの種類は、単票形式(オブジェクトと1対1)、グリッド形式(コレクション)の2種
  • 入力データのデータソースへの反映がリアルタイムに行われる
  • 利用できるオブジェクトやコレクション
    • カスタムオブジェクト及びそのコレクション
    • DataSetやDatatable

IBindingList インターフェイスを実装しないデータ ソース (ArrayList オブジェクトなど) にバインドされている場合、データ ソースが更新されても、バインドされているコントロールのデータは更新されません。たとえば、コンボ ボックスが ArrayList オブジェクトにバインドされている場合は、ArrayList にデータが追加されても、コンボ ボックスに新しい項目は表示されません。ただし、コントロールがバインドされている BindingContext クラスのインスタンスの SuspendBinding メソッドおよび ResumeBinding メソッドを呼び出すことによって、コンボ ボックスを強制的に更新できます。

データーソース登録の作成

  1. コード内でオブジェクトを作成する
  2. ビルドする
  3. ビルドするとアセンブリ内のオブジェクトがVisualStudioに認識されるのでメインメニュー>データ>データーソースの表示でデータ構成ウイザードを起動し「オブジェクト」からバインドしたいオブジェクトにチェックを入れ「完了」をクリックする
  4. 登録したオブジェクトがデータソースウインドウ内に表示されて登録完了

<コード例>
namespace DataBindingTest5
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
   }

   class Pic   //publicクラスじゃなくても良い
   {
       Rectangle rect = new Rectangle();
        
       public string Name { get; set; }
       public string File { get; set; }
       public int X
       {
           get { return rect.X; }
           set { rect.X = value; }
       }
       public int Y
       {
           get { return rect.Y; }
           set { rect.Y = value; }
       }
       public int Width
       {
           get { return rect.Width; }
           set { rect.Width = value; }
       }
       public int Height
       {
           get { return rect.Height; }
           set { rect.Height = value; }
       }
       public Rectangle Rect
       {
           get { return rect; }
           set { rect = value; }
       }
   }
}



独自のコントロールでデータバインディングを利用する際の注意点

最終更新:2012年09月08日 01:24
添付ファイル