Bindowanie ComboBoxa do Listboxa

0

Listbox jest podmontowany pod DataBindingSource. Problem mam żeby podpiąć pod ComboBoxa List<string>. Czyli dla aktualnego obiektu w ListBoxie, w Combo mają być wyświetlone jego elementy listy Address

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            textBox1.DataBindings.Add("Text", bindingSource1, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            //comboBox1.DataSource = listBox1.SelectedItem;
            //comboBox1.DisplayMember = "Address";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Test t = new Test();
            t.Name = "TEST";
            t.Address.Add("AAA");
            t.Address.Add("BBB");

            bindingSource1.Add(t);
        }
    }


    public class Test
    {
        public Test()
        {
            Address = new List<string>();
        }

        public string Name
        {
            get;
            set;
        }

        public List<string> Address
        {
            get;
            set;
        }
    }
}
0

comboBox1.DataBindings.Add("DataSource", bindingSource1, "Address",true)

0

Prawie dobrze ale... dodanie elementów do datasourc'a, nie powoduje odświeżenie Items w ComboBoxie.

0
maciejmt napisał(a):

Prawie dobrze ale... dodanie elementów do datasourc'a, nie powoduje odświeżenie Items w ComboBoxie.

Możesz rozwinąć o co Ci konkretnie chodzi

0

Zobacz w załącznik.
Dodaje do aktualnego itemu, jakiś element Address. Odświeżenie ComboBoxa nie następuje automatycznie (trzeba przeklikać)

0

Bo nie będzie działać. Zamień List na BindingList to zacznie działać.
Dodatkowo jeśli chcesz żeby działało bindowanie do Name to musisz zaimplementować INotifyPropertyChanged.

1 użytkowników online, w tym zalogowanych: 0, gości: 1