『Visual C#実践講座』 3章 その5 データテーブル項目とコントロールのバインド

データベースからレコード(DataRow)を読み込み画面項目に設定し、
ユーザの操作による変更をデータベースへと書き戻すという処理をどのように行うか?


手作業で1つずつDataRowから画面、またはDataRowに項目を設定する方法もある。
これは面倒。


this.ctl1.DataBindings.Add()を使って、データテーブル項目とコントロールをバインドすれば、
画面とデータテーブルが連動するのでわざわざ画面での変更を書き戻す必要がなくなる。


しかし、ラジオボタンチェックボックスにはバインドができない。
そこで、バインドできるように拡張ラジオボタンや拡張チェックボックスを作る

public class ExCheckBox : System.Window.Forms.CheckBox
{
  private System.ComponentModel.Container components = null;

  public string CheckedString
  {
    get
    {
      return this.Checked ? "1" : "0";
    }
    set
    {
      this.Checked = value == "1" ? true : false;
    }
  }
}
this.chkBox1.DataBindings.Add("CheckedString", m_dtSample, "ITEM3");