|
■No30019 (彩 さん) に返信
> 本当はdistrictという名前のコンボボックスのコレクションにある「関東」を初期表示?させようとしているのですが
> まずはコレクション内のものではなくデータベースから検索した値を表示しようかと思って上記のように書きました。
コンボボックスの中身と表示用が違う場合の設定方法の1つにこんな感じのがあります。
※フォームにはコンボボックスとテキストボックスのみ
Public Class Form1
Private table As DataTable = New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'テストなので型無し:実際はDBから持ってきたテーブル(データ)
GetData()
Me.ComboBox1.DataSource = table
Me.ComboBox1.ValueMember = "中身用"
Me.ComboBox1.DisplayMember = "表示用"
'初期表示の設定
Me.ComboBox1.SelectedIndex = 1
End Sub
Private Sub GetData()
table.Columns.Add("表示用")
table.Columns.Add("中身用")
table.Rows.Add("東北", "01")
table.Rows.Add("関東", "02")
table.Rows.Add("近畿", "03")
End Sub
'中身の確認用
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
If Me.ComboBox1.SelectedIndex > -1 Then
Me.TextBox1.Text = Me.ComboBox1.SelectedValue.ToString()
End If
End Sub
End Class
|