WindowsFormsアプリでDataTableとDataBindingsを使ったサンプル
以下はWindowsFormsアプリでMVVMパターンを実装したサンプルコードです
用語
DataTable
DataTableは、.NET Frameworkの一部であり、メモリ内のデータを表形式で保持するために使用されるオブジェクトです。DataTableは、列の定義と行のデータを格納することができます。データのソート、フィルタリング、検索などの機能を持ち、データベースのテーブルに相当する機能を提供します。
DataTableには、列を定義するためのColumnsプロパティがあります。Columnsプロパティには、DataColumnオブジェクトが含まれており、各列の名前、データ型、制約などを定義します。また、行のデータは、DataTableのRowsプロパティに格納されています。Rowsプロパティには、DataRowオブジェクトが含まれており、各行のデータを表します。
DataBinding
DataBindingsとは、Windowsフォームアプリケーションにおいて、データソースとコントロールを結びつけるための機能です。DataBindingsを使用することで、コントロールの値をデータソースに反映したり、データソースの変更を自動的に反映したりすることができます。
DataBindingsは、コントロールのDataBindingsプロパティを使用して設定されます。DataBindingsプロパティには、データソースのプロパティ名、データソースのオブジェクト、およびデータソースとコントロールの変換を指定するオプションのオブジェクトが含まれます。たとえば、TextBoxコントロールを使用してデータソースの値を表示する場合、以下のようにDataBindingsを設定することができます。
サンプル概要
以下は、DataTableとTextBoxとDataBindingsを使用したサンプルコードです。このサンプルでは、DataTableにデータを追加し、追加したデータをTextBoxに表示する処理を行います。
実行結果
実行すると、TextBoxにName情報が表示されます
フォームデザイン
TextBoxを配置します
ソリューション
コード
// フォームのLoadイベントハンドラー
private void Form1_Load(object sender, EventArgs e)
{
// DataTableを作成する
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
// データを追加する
dt.Rows.Add(1, "Apple");
dt.Rows.Add(2, "Banana");
dt.Rows.Add(3, "Orange");
// TextBoxにDataBindingsを設定する
textBox1.DataBindings.Add("Text", dt, "Name");
// 最初のデータを表示する
textBox1.Text = dt.Rows[0]["Name"].ToString();
}
このサンプルでは、DataTableを作成し、3つのデータを追加しています。次に、TextBoxのDataBindingsプロパティに"Name"列をバインドします。最後に、TextBoxにDataTableの最初のデータを表示するように設定しています。
これにより、フォームがロードされた時に、TextBoxに"Apple"という文字列が表示されます。また、ユーザーが別のデータを選択した場合、自動的にTextBoxの表示内容も変わります。例えば、ComboBoxなどのコントロールから選択されたデータをDataTableに反映する場合も同様に、DataBindingsを使用して簡単に実現できます。
ディスカッション
コメント一覧
まだ、コメントがありません