- PR -

ComboBoxのSelectedValueについて

1
投稿者投稿内容
sinh
ベテラン
会議室デビュー日: 2003/01/22
投稿数: 87
投稿日時: 2008-07-07 17:43
sinhと申します。
VB.net 2005を使用して開発しておりますが、
ComboBoxで良く分からない現象で悩んでおります。

画面のComboBoxに対して以下のように
-------------------------------------------------------------
Dim dt As DataTable = New DataTable
dt.Columns.Add("LABEL")
dt.Columns.Add("VALUE")
dt.Rows.Add(New String() {"", ""})
dt.Rows.Add(New String() {"YES2", "YES"})
dt.Rows.Add(New String() {"NO2", "NO"})
Me.ComboBox1.DataSource = dt
Me.ComboBox1.DisplayMember = "LABEL"
Me.ComboBox1.ValueMember = "VALUE"
-------------------------------------------------------------
としてコンボボックスのデータソースを設定しているのですが、
このコンボボックスに対しての処理で
----------------------------------------
Me.セット.SelectedValue = "NO "
----------------------------------------
と後ろスペースのある値を設定すると画面上では
"NO2"が設定された状態となってしまいます。

MicrosoftのLabelのSelectedValueの説明をみてもスペースを無視するような
記述は見つかりませんでした。

ComboBoxのSelectedValueに値を設定した場合
後ろスペースは削除された状態で、ValueMemberが一致するものを検索し表示するのでしょうか?

よろしくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2008-07-07 19:22
ComboBox ではなく、DataTable の方の仕様ですね。
// undocumented みたいですけど。
DataTable の String 列に格納されている文字列は、末尾の全半角空白を無視して比較されます。
1

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