Page3■(3)データ・バインディングで「選択候補としてデータを表示」Windowsフォームで使うコントロールの中には、ComboBoxコントロールのDropDownListスタイル(=テキストボックス部分が編集できないComboBoxコントロール。TIPS:コンボボックス(ComboBoxコントロール)を読み取り専用にするには?」)やListBoxコントロールのように、複数の候補からデータを選択するUI(ユーザー・インターフェイス)を実現するものがある。このようなコントロールの場合、2つのデータ・バインディングを使って効率的にデータセットと連携させることができる。今回のサンプル・プログラムでは、XMLファイルから読み込んだデータを、DropDownListスタイルのComboBoxコントロールに表示する。同時に、ComboBoxコントロールでの選択結果もデータ・バインディングされる(前述の「(2)現在行のデータを表示」と同じ仕組み)。この2つのデータ・バインディングの仕組みは、図8を参考にしてほしい。DropDownListスタイルのComboBoxコントロールに対する2つのデータ・バインディングComboBoxコントロールのDataSourceプロパティにより、「データセットのデータテーブルA」と「一覧表示」がデータ・バインディングされる。ComboBoxコントロールのDataBindingsコレクション・プロパティにより、「(データセットのデータテーブルBとデータ・バインディングされた)BindingSourceコンポーネント」と「選択結果」がバインディングされる。ComboBoxコントロールのDataSourceプロパティに設定したデータテーブルは、選択一覧のデータとして利用する。選択した値は、DataBindingsコレクション・プロパティを通して、(BindingSourceコンポーネントとデータ・バインディングされた)別のデータテーブルの現在行の指定列と連携している。今回作成したサンプルは、下記のリンクからダウンロードできる。VBサンプル(WindowsBindingComboBox.zip)のダウンロードC#サンプル(WindowsBindingComboBoxCs.zip)のダウンロード以上のデータ・バインディング処理は、下記のように、Windowsフォーム画面のShownイベント・プロシージャ内に実装している。2つのデータバインドを活用するコード(上:VB、下:C#)サンプル・コードでは、ComboBoxコントロールのDisplayMemberプロパティとValueMemberプロパティの使い方にも注目してほしい。「エンド・ユーザーから都道府県名が指定されると、都道府県コードを取得したい」ような場合には、DisplayMemberプロパティに「都道府県名」、ValueMemberプロパティに「都道府県コード」を指定しておく。しておけば、Windowsフォーム画面のComboBoxコントロールで「都道府県名」を選択すると、SelectedValueプロパティに対応する値をValueMemberプロパティに指定した列(この場合「都道府県コード」)から取得できる。Binding」でプロパティと列名を結び付けるのが煩雑に感じられたのではないだろうか。Studioで型付きデータセットを作成すれば、コントロールの[プロパティ]ウィンドウで設定できるようになる。Binding」と類似のコードになるので、型付きデータセットを使ったケースでも、デバッグなどを行う場合に、今回得た知識は役に立つと思う。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。