- PR -

コンボボックスの表示がかわりません。

1
投稿者投稿内容
soushi
会議室デビュー日: 2004/12/06
投稿数: 13
投稿日時: 2004-12-13 16:36
はじめまして。
現在、VB.netを使い、すべてのコマンドを手入力して、データベースに接続するプログラムを組んでいます。
現在、登録することなどは完全にできているんですが、データバインディングをつかい、コンボボックスにディスプレイメンバーとバリューメンバーをひっぱってきたのですが、起動させてみると、ディスプレイ上は変えても変わりません。
データベースに格納されるデータはあっているんで、コマンドが間違えてると思います。
下記にコマンド記述すしておくので、なにか間違えがあれば教えてください。

scn.Open()
cmbSyozoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "所属マスター.所属ID"))
cmbSyozoku.DataSource = ds
cmbSyozoku.DisplayMember = "所属マスター.所属名"
cmbSyozoku.ValueMember = "所属マスター.所属ID"
cmbYakusyoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "役職マスター.役職ID"))
cmbYakusyoku.DataSource = ds
cmbYakusyoku.DisplayMember = "役職マスター.役職名"
cmbYakusyoku.ValueMember = "役職マスター.役職ID"
scn.Close()

dsはデータセットです。
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2004-12-13 17:12
Osです。

ComboBoxのデータ連結には、単純データ連結と複合データ連結があり、
単純データ連結は、ComboBoxで選択または表示する値であり、
SelectedIndex, SelectedValue などを指定して連結します。
複合データ連結は、ComboBoxの選択リストに表示する値で、
DataSorce, DisplayMember, ValueMember を指定して連結します。

そこで、問い合わせの件ですが、
soushiさんの定義には、選択リスト用のデータ連結と、選択結果を格納するデータ連結で
同じデータソースが連結されていることに矛盾があるのでは?
通常、選択結果はマスタ用データと別のデータベースに格納しませんか?
soushi
会議室デビュー日: 2004/12/06
投稿数: 13
投稿日時: 2004-12-13 17:18
scn.Open()
cmbSyozoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "所属マスター.所属ID"))
cmbSyozoku.DataSource = ds
cmbSyozoku.DisplayMember = "所属マスター.所属名"
cmbSyozoku.ValueMember = "所属マスター.所属ID"
cmbYakusyoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "役職マスター.役職ID"))
cmbYakusyoku.DataSource = ds
cmbYakusyoku.DisplayMember = "役職マスター.役職名"
cmbYakusyoku.ValueMember = "役職マスター.役職ID"
scn.Close()

このプログラムでいうと、どういうことですか?
できれば詳しく教えてください。
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2004-12-13 17:31
Osです。

>cmbSyozoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "所属マスター.所属ID"))
==> 単純データ連結(選択/表示データを指定する:通常、結果設定用データベースに連結する)

>cmbSyozoku.DataSource = ds
>cmbSyozoku.DisplayMember = "所属マスター.所属名"
>cmbSyozoku.ValueMember = "所属マスター.所属ID"
==> 複合データ連結(参照リスト用データ:通常マスタデータ)

単純データ連結と複合データ連結に同じデータベース(ds.Table("所属マスター"))
が設定されている
本来、マスタ用データと選択結果を設定するデータベースは別になるのでは?
soushi
会議室デビュー日: 2004/12/06
投稿数: 13
投稿日時: 2004-12-13 17:37
OSさんのいったとおりにしたらできました!!
ありがとうございました。
毎回、書き換えてたってことになるんですかね?
1

スキルアップ/キャリアアップ(JOB@IT)