上のコンボボックスから日付を選択すると、その日付に対応する一言が自動で下のコンボボックスに表示できるようにしたいです
なにも難しく考えなくても、思っている通りコードを書けばいいです
上のコンボボックスから日付を選択すると
→上のコンボボックス(仮にComboBox日付とでもしましょう)から日付を選択すると=選択されている値が変わったら
VB.Net
1Private Sub ComboBox日付_SelectedValueChanged(sender As Object, e As EventArgs) Handles ComboBox日付.SelectedValueChanged
2
3 'やりたいことを書く
4
5End Sub
その日付に対応する一言が自動で下のコンボボックスに表示
→その日付に対応する一言が自動で下のコンボボックス(仮にComboBox一言とでもしましょう)に表示
VB.Net
1'ComboBox日付で選択された値(日付)を取る
2Dim cb = DirectCast(sender, ComboBox)
3Dim 日付 = cb.SelectedItem
4
5'その値に対応する一言を取ってくる
6'→日付を元にDBに値を問い合わせる
7
8'問い合わせた結果(仮に一言とする)でComboBox一言の選択を変更する
9Dim 一言 = "踏み出せば、その一足が道となる。:アントニオ猪木"
10ComboBox一言.SelectedText = 一言
ComboBox一言の選択を変更する時に
- SelectedIndex
- SelectedItem
- SelectedText
- SelectedValue
のどれを使うのか?はComboBox一言の選択肢をどう設定したのかによります
例えば
- ComboBox日付とComboBox一言に同じものをバインドしてる
のなら、
- 選択値を変えた方のSelectedIndexを他方のSelectedIndexに設定する
と対応した値が表示されるはずといった具合です
※バインドしているコレクションの中で互いに値が連携しているはずなので
あと聞かれていたのは
- データソース:ComboBoxにバインドして表示させる値の塊(なんらかのコレクションオブジェクト)
- 表示メンバー:DataSourceで指定されたコレクションのどの値を表示に使うか(String値:例えばバインドしたのがDBならカラム名)
- 値メンバー:DataSourceで指定されたコレクションのどの値を選択値とするか(String値:例えばバインドしたのがDBならカラム名)
- 選択された値:ComboBoxで選択された(選択する)ValueMemberに含まれる値
ということなので、やりたいことに合わせて設定してください
まずコントロール(ここではComboBoxですが)がどういう機能を持っていて、どう書けばどう動くのかを考えるようにした方がいいです
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/14 19:25