C# ComboBoxでValueMemberとDisplayMemberの設定後に選択項目をコードから指定できません。
お世話になります。
下記のコードで作成したコンボボックスをフォームに貼り付け、コードがら初期値を
渡して選択されている項目を変更したかったのですが、なぜかうまくいきません。
SelectedValueで帰る値はobjectになっているようなので、それが原因なのかと
思うのですが、途方にくれました。
using System;
using System.Collections.Generic;
using System.Data;
namespace Easy
{
public class UCombo : System.Windows.Forms.ComboBox
{
//DataTableオブジェクトを用意
private DataTable tbl = new DataTable();
public UCombo()
{
this.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
//DataTableに列を追加
this.tbl.Columns.Add("ID", typeof(string));
this.tbl.Columns.Add("NAME", typeof(string));
this.tbl.AcceptChanges();
//コンボボックスのDataSourceにDataTableを割り当てる
this.DataSource = this.tbl;
//表示される値はDataTableのNAME列
this.DisplayMember = "NAME";
//対応する値はDataTableのID列
this.ValueMember = "ID";
this.clear();
}
public void clear()
{
this.tbl.Clear();
}
public void add(string val,string disp)
{
//新しい行を作成
DataRow row = this.tbl.NewRow();
//各列に値をセット
row["ID"] = val;
row["NAME"] = disp;
//DataTableに行を追加
this.tbl.Rows.Add(row);
}
}
}
値の取得 string s = SelectedValue;は取得できますが、値の設定 SelectedValue = s;が
反映されません。
何卒よろしくお願いいたします。