|
分類:[.NET 全般]
はじめまして。 VB.net 2005 を使用しています。
★事象 フォームにコンボボックスがあり、以下の4項目(果物の名前)が設定されているとします。 aaa:リンゴ bbb:みかん ccc:メロン BBB:ぶどう それらをID,NAMEという列名を付けてDataTableに格納してコンボボックスのDataSourceに設定しました。 その際、「ID」「NAME」をそれぞれDisplayMember, ValueMemberに設定しました。 ComboBox1.DisplayMember = "NAME" ComboBox1.ValueMember = "ID"
ボタンをひとつ貼り付けて、クリックしたら単純に「ぶどう」を選びたく ComboBox1.SelectedValue = "BBB" としましたが、小文字の「bbb:みかん」を選択してしまいます。 SelectedValueは大文字、小文字を区別できないのでしょうか? また、区別できる方法はあるのでしょうか? よろしくお願いいたします。 *********** 以下ソースです。(フォーム、コンボボックスは名前は変えませんでした) **************
Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load
'DataTableオブジェクトを用意 Dim fruiteTable As New DataTable()
'DataTableに列を追加 fruiteTable.Columns.Add("ID", GetType(String)) fruiteTable.Columns.Add("NAME", GetType(String))
'行を追加する処理(面倒なので一旦配列に文字列を用意してループで…)
'配列の用意 Dim rowDataArray As String(,) = _ {{"aaa", "リンゴ"}, _ {"bbb", "みかん"}, _ {"ccc", "メロン"}, _ {"BBB", "ぶどう"}}
For i As Integer = 0 To rowDataArray.GetLength(0) - 1 '新しい行を作成 Dim row As DataRow = fruiteTable.NewRow()
'各列に値をセット row("ID") = rowDataArray(i, 0) '001など row("NAME") = rowDataArray(i, 1) 'リンゴなど
'DataTableに行を追加 fruiteTable.Rows.Add(row) Next
'コンボボックスのDataSourceにDataTableを割り当てる ComboBox1.DataSource = fruiteTable
'表示される値はDataTableのNAME列 ComboBox1.DisplayMember = "NAME"
'対応する値はDataTableのID列 ComboBox1.ValueMember = "ID"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ComboBox1.SelectedValue = "BBB" End Sub
|