0

私はこれを検索しましたが、少し違うことを達成したいと思っています。

Person1、Person2、Person3などの3つのアイテムを静的に含むように設定されたコンボボックスがあります。

次に、Person などのオブジェクトがあります。このオブジェクトには、おそらく Person3 という PersonType というプロパティが含まれます。私がやりたいことは、その Person オブジェクトをコンボ ボックスにバインドすることです。読み込み時に、コンボ ボックスは person3 を選択したアイテムとして強調表示する必要があります。どうすればこれを行うことができますか?残りのコントロールと同じように双方向にバインドしたい。

    public class Person : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private string _PersonType;

    public string PersonType
    {
        get { return _PersonType; }
        set
        {
            _Description = value;
            NotifyPropertyChanged("PersonType");
        }
    }

    public void NotifyPropertyChanged(string name)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
}
4

2 に答える 2

0

次のコードはあなたの目標を達成するはずです。私は自分のマシンでそれを実行しましたが、うまくいきました。

    private void BindPerson()
    {
        Person p2 = new Person();
        p2.PersonType = "Person2";
        Person p3 = new Person();
        p3.PersonType = "Person3";

        ListItem person2ListItem = new ListItem();
        person2.Text = p2.PersonType;
        person2.Value = p2.PersonType;
        listBox.Items.Add(person2ListItem);

        ListItem person3ListItem = new ListItem();
        person3.Text = p3.PersonType;
        person3.Value = p3.PersonType;
        person3.Selected = true; // This will make it selected
        listBox.Items.Add(person3ListItem);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindPerson();
        }
    }
于 2012-05-04T15:51:59.757 に答える
0

以下が機能するはずです。

ddlPerson.SelectedItem = objPerson.PersonType;
于 2012-05-04T15:41:32.923 に答える