ログインID パスワード
タグツリー検索
ナビゲーション リンクのスキップ

更新されたページ

人気のページ

Brup Log Viewer のページ
Ogaworld Explosion
 フリーウェアを作っているオトモダチ

ページ検索

カレンダー検索

ヒストリ



(作成)  2011/12/03 22:24:57  はぐれSE さん
(更新)  2011/12/04 18:56:16  はぐれSE さん
(バージョン) 15

.NETのデータバインドについてまとめてみた①


データバインドとは?

画面表示やデータ入力に用いるUIコントロールとデータを管理するデータオブジェクトを、手続き的な操作の記述によらず、宣言的な設定により連結することで、従来より簡潔に入出力操作を実現するアーキテクチャ方式です。

■例■ 従来(手続き的な操作の記述)

(表示)
MyTextBox.Text = DataObject.StringValue;
(入力)
DataObject.StringValue = MyTextBox.Text;

■例■ データバインド(宣言的な設定)

MyTextBox.DataBindings.Add(new Binding(“Text”, DataObject, “StringValue”, true));

データバインドを使うメリットは?

  1. フレームワークに処理を任せることでコード記述が少なくて済みます。
  2. 宣言的な設定を行うことでデザイン時のビジュアル編集が容易になります。

■例■ フォーマットと詳細 バインドダイアログ

db01.png

データバインドの詳細を設定

■例■ データソースウインドウ

db02.png

↓ DataSamples.SampleDataSet.SampleTable.IntValue をドラッグして、フォーム上にドロップ

db03.png

データバインド済みのUIコントロール(一覧Grid、詳細各種UIコントロール)を自動生成


バインドできるデータオブジェクトは?

データ構造

全てのデータオブジェクトをデータバインドすることができます。

  • 単一データ(基本データ型)
    int型、string型、DateTime型、byte[]型など
  • 複合データ(一般的なクラス)
    プロパティをフィールド要素として扱う。
  • 行列データ(テーブル、コレクション)
    IListSourceインターフェースを継承する。
    行となる複合データオブジェクトのリストを持つ。
    列は複合データオブジェクトのプロパティになる。
  • データセット
    行列データオブジェクトを複数内包する。

型定義

データスキーマが定義されているか否かで、デザイン時のビジュアル編集の容易さが変わってきます。

  • 型付きデータセット
    データスキーマが定義されたデータセット。
  • 汎用データセット
    データスキーマが定義されないデータセット。
  • 定義済みクラス
    データスキーマが定義されたクラスであり、このクラスのコレクションを保持するデータオブジェクトを取り扱う場合が多い。
  • 匿名クラス
    型推論的にデータスキーマが定義されたクラスであり、LINQ操作の結果として使用頻度が増えてきている。

バインドできるUIは?

.Netで作れる全てのGUIアプリケーションでデータバインドすることができます。

  • Windows Forms アプリケーション
    System.Windows.Forms以下の多くのUIコントロール
  • ASP.NET Web アプリケーション
    System.Web.UI.WebControls以下の多くのUIコントロール
  • WPF アプリケーション
    System.Windows.Controls以下の多くのUIコントロール

■例■ Windows Forms アプリケーション

db1.png

■例■ ASP.NET Web アプリケーション

db2.png

■例■ WPF アプリケーション

db3.png


サンプルソリューション

DataBindingSamplesSolution.zip


最初へ 前へ 次へ 最後へ

このページに対するコメント
コメントがありません。
Copyright 2006-2015 はぐれSE All Rights Reserved.
Powered by Cvec*KCS.