Page3■(2)データ・バインディングで「現在行のデータを表示」TextBoxコントロールにXMLファイルの内容を表示するサンプルを用いて、データ・バインディングで1行のデータを表示する方法を説明する。今回作成したサンプルは、下記のリンクからダウンロードできる。1行表示のWindowsフォーム画面デザイン例XMLファイルの1行分のデータを表示するWindowsフォーム画面デザインとして図5のようなデザインを考えてみた。(メニューバーの)[ファイル]メニューには、[開く]や[保存]などのサブメニューがあり、XMLファイルとの入出力が行える。各TextBoxコントロールと各CheckBoxコントロールがデータセットに読み込まれたXMLファイルの内容を表示するコントロールであり、これらのコントロールにデータ・バインディング行う。BindingNavigator」)だ。TextBoxコントロールやCheckBoxコントロールに表示されるデータは、現在行のデータになるので、BindingNavigatorコントロール(上にある左向きや右向きの三角ボタンなど)を操作することで、表示が次々と変わっていく。BindingNavigatorコントロールのBindingSourceプロパティにはBindingSourceコンポーネント(サンプルでは「XML_BindingSource」という変数)を設定して、BindingNavigatorコントロールと対象となるデータ・バインディングをひも付けて(=バインディングして)おく必要がある。●データ・バインディングを実装する今回のサンプル・プログラムでは、(メニューバーの)[ファイル]−[開く]メニューを選択すると、XMLファイルから読み込んだデータを、各コントロールに表示する(図6を参照)。データセットの「data」データテーブルの内容を1レコード分画面に表示するコード(上:VB、下:C#)データセットにXMLファイルの内容を読み込んだら、AcceptChangesメソッドを実行して、全行のRowStateプロパティの値を「Add」から「Unchanged」にする。データセットのデータテーブルを、BindingSourceコンポーネントのデータソースとして指定する。これでデータテーブルとBindingSourceコンポーネントがデータ・バインディングできたことになる。次に、各コントロールのDataBindingsコレクション・プロパティにBindingSourceコンポーネント(=データセットとの仲介役)を割り当てていく(=バインディング)。"日付",True)」のようなコードで、先ほどデータ・バインディングしたBindingSourceコンポーネントを引数にしてAddメソッドを実行する。単一オブジェクトのプロパティではなくコレクション・プロパティかといえば、コントロールにバインディングする(=ひも付ける)のではなく、コントロールのプロパティに対してバインディングをするために、コントロールからみれば複数のバインディングを定義できるコレクションとなるわけだ。どのようなプロパティにバインディングができるのかといえば、[プロパティ]ウィンドウの[(DataBindings)]プロパティの「(詳細)」をクリックして[フォーマットと詳細バインド]ダイアログを表示すれば確認できる。[フォーマットと詳細バインド]ダイアログCheckBoxコントロールでは、チェックボックスがチェックされているか/いないかを、Checkedプロパティで取得・設定する場合が多い。データセット(特にRDBMS)とデータ・バインディングするときには、(Checkedプロパティではなく)CheckStateプロパティの方が使いやすい。CheckStateプロパティは次のような値を取る。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。