かずきのBlog
C#やJavaやRubyとメモ書き

目次

Blog 利用状況
  • 投稿数 - 392
  • 記事 - 1
  • コメント - 438
  • トラックバック - 103
ニュース
  • 思い出は、いっぱい。
コメント
プログラマ的自己紹介
  • C#とRubyを趣味で。Javaを仕事で使ってやってます。 WPFをコツコツ勉強中。 IDE大好き。Visual Studio, Eclipse, NetBeansを使用中
お気に入りのツール/IDE
  • Visual Studio 2008 std
  • Eclipse
  • NetBeans6.0以降
  • 自作のツール
プロフィール
  • 大田 一希
  • 1981年1月30日産まれ
  • AB型
  • 左利き
経歴
  • 1993年 海田中学校 入学
  • 1996年 広島県立安芸南高等学校 入学
  • 1999年 某大学 環境情報学科 入学
  • 2003年 某大学 大学院 環境学研究科 入学
  • 2005年 就職して上京
  • 今に至る
アクセサリ
  • あわせて読みたい
  • ログ解析ネット証券

書庫

日記カテゴリ

 

何か、巷の見たことあるサンプルだとMaster/Detailパターンとかで1対多の関係にあるもののデータを表示してしまおう!とかいうのはよく見るような気がする。
文章で説明するのは苦手なので、よく見るパターンから作っていこうと思う。

DatabaseAppという名前でプロジェクトを作ってEmpMng.sdfという名前でローカルデータベースを作成する。ついでにDataSetも作るか?的なことを聞かれるので一緒に作っておく。

image

EmpMng.sdfにDataSetデザイナにドロップしたら下のような感じになるテーブルを作成する。
image

部署があって、部署に所属する従業員がいて、従業員に紐づくお客さんがいる。といったイメージ。

フォームにDataSetと、BindingSourceと、BindingNavigator、DataGridViewを置いてEmployeesテーブルの中身を画面に表示するように構成する。
image

実行すると、Employeesテーブルのデータが画面に表示される。(データは適当に入れました)
image

ありがちな例は、選択した従業員に紐づくお客さんを表示するといったような感じのものが多い。これは、DataGridViewを、もう1つ置いてDataSourceにbindingSourceEmployeesのFK_CustomerEmployeesを選択すればOKだ。実行すると、左側で選択した従業員に紐づく顧客の情報が表示される。
いい感じだ。
image

んで、今まで悩んでたのが、従業員テーブルのデータを表示してるDataGridViewに部署情報を表示したい!というとき。
そんでもって見た目は、なるべく普通のテキストを表示するセルと同じにしたい。というものだった。

やり方は、わかってしまえば簡単。DataGridViewComboBoxColumnで、データソースに部署情報、DisplayMemberにNameを指定して、ValueMemberにIDを指定する。
バインド先のプロパティはもちろん、EmployeesテーブルのDeptIDだ。

これだと、普通のドロップダウンになってしまうので、最後にDisplayStyleをNothingにする。これで見た目がぐぐっと普通のセルっぽくなる。
image

編集中はドロップダウンで、普段の見た目は普通のセルっぽいのが完成。ReadOnlyにすれば同然のことながら普通のセルと区別がつかないかんじになる。

投稿日時 : 2008年7月2日 0:13
コメント
No comments posted yet.
タイトル  
名前  
Url
コメント