動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

定石2: DisplayMember / ValueMemberの設定順序の罠

出典: WinForms ComboBox の DataSource バインディングと SelectedIndex / SelectedValue / SelectedItem の違い定石2: DisplayMember / ValueMemberの設定順序の罠

定石2: DisplayMember / ValueMemberの設定順序の罠 (csharp)#0e43294379e4
// ❌ NG: DataSourceを先に設定するとDisplayMemberが効かないケース
combo.DataSource    = dt;          // ←この時点で表示が"DataRowView"のToString()で固まる
combo.DisplayMember = "name";       // ←後から設定しても効かないor微妙な挙動
combo.ValueMember   = "id";
 
// ✅ OK: DisplayMember → ValueMember → DataSourceの順
combo.DisplayMember = "name";
combo.ValueMember   = "id";
combo.DataSource    = dt;          // ←最後にセット、Display/Value両方とも正しく適用
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #0e43294379e4
  • lines: 9
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「定石2: DisplayMember / ValueMemberの設定順序の罠」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

4
図鑑トップ