前回のグリッド画面に続いて詳細画面を作成。検索バーなどを追加しながら、自動作成されるGUIのからくりを理解する。
powered by Insider.NET
前回では、BindingNavigatorコントロールとDataGridViewコントロールからなるWindowsデータベース・アプリケーション(図1)を、[データソース]ウィンドウからのテーブル項目のドラッグ&ドロップのみで作成しました。
1 | DBアプリのデータソースとなるデータベースの作成 | |
2 | データセットとデータテーブル | |
3 | テーブルアダプタの基礎 | |
4 | ドラッグ&ドロップで作るWindows DBアプリケーション | |
また、テーブル項目をドラッグ&ドロップしたときに、自動的にフォームに追加される、データセット、テーブルアダプタ、そしてBindingSourceコンポーネントについて解説しました。
今回は、[データソース]ウィンドウからのドラッグ&ドロップで作成できる、次のようなスタイルのWindowsデータベース・アプリケーションの作成から解説を始めます。
なお本連載では、開発環境としてVisual Basic 2005 Express Edition+SQL Server 2005 Express Editionを使用しています。また、データベースは前回と同様にNorthwind and pubs Sample Databases for SQL Server 2000に含まれているPubsデータベースを使用しています。
以降では、[データソース]ウィンドウにPubsデータベースのauthorsテーブルが追加されている状態からスタートします。
そして、この状態でauthorsテーブル項目をフォーム上にドラッグ&ドロップするだけです。これによりフォーム上には、authorsテーブルの列の分だけ、ラベルとテキストボックス(contract列に対してはチェックボックス)が配置されます(図4)。
この状態で[F5]キーを押して実行したものが図2の画面となります。
ここで面白いのは、配置されるコントロールが列の型によって適切に選択されるところです。上記の画面ではcontract列がBit型であるため、自動的にチェックボックスが配置されています。この例では存在しませんが、もし日付型(DateTime型)の列が存在すれば、ドロップダウンでカレンダーを表示可能なDateTimePickerコントロールが配置されます。
文字列や数値の行に対しては、デフォルトでは上記の画面のようにテキストボックスとして配置されますが、それが編集の不要な項目であれば、ラベルとして配置することもできます。これにはドラッグ&ドロップする前に、[データソース]ウィンドウ上で、項目に使用されるコントロールの種類を変更しておきます。
フォーム上で各列の名前を表示しているラベルは単なるLabelコントロールですから自由に編集できます。また、配置されたコントロールのうち、不要なコントロールは削除しても構いません。
次の画面はラベルの内容を書き換え、city列とstate列のテキストボックスをラベルに変更したときの実行画面です。
ただしテーブル項目のドラッグ&ドロップにより一度フォーム上に配置されたコントロールの種類は変更できません。変更したい場合には、そのコントロールだけをフォーム上で削除し、[データソース]ウィンドウから、(テーブル項目ではなく)列項目を単体でフォーム上にドラッグ&ドロップします。
Copyright© Digital Advantage Corp. All Rights Reserved.