Reputation: 4462
I'm trying set a SelectedItem to a ComboBox. I have one class usuario
and when I open the Form I want to usuario was setted to combobox.
How could I do this ?
trying.
//setting datasource to combobox
Usuario usuario1 = new Usuario("name", "lastname");
Usuario usuario2 = new Usuario("name", "lastname");
IList<Usuario> list = new List<Usuario>();
list.Add(usuario1);
list.Add(usuario2);
comboBox.DataSource = list;
//form is opened and display the last usuario that was selected
comboBox.SelectedItem = usuario;
Upvotes: 2
Views: 61
Reputation: 1084
The below works just fine. When the form loads the combo box has 3 items in total and usarioN pre selected. For the sake of better understanding I have given proper names to the instances of Usario.
Usuario usuario1 = new Usuario("name1", "lastname1");
Usuario usuario2 = new Usuario("name2", "lastname2");
Usuario usuarioN = new Usuario("nameN", "lastnameN");
IList<Usuario> list = new List<Usuario>();
list.Add(usuario1);
list.Add(usuario2);
list.Add(usuarioN);
cmbItems.DataSource = list;
//property names
cmbItems.DisplayMember = "name";
cmbItems.ValueMember = "lastname";
cmbItems.SelectedItem = usuarioN;
Upvotes: 1
Reputation: 30823
If what you mean is to show the last item that was added, then you could try to use comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
:
//setting datasource to combobox
Usuario usuario1 = new Usuario("name", "lastname");
Usuario usuario2 = new Usuario("name", "lastname");
IList<Usuario> list = new List<Usuario>();
list.Add(usuario1);
list.Add(usuario2);
comboBox1.DataSource = list;
//form is opened and display the last usuario that was added
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
I tested using:
string usuario1 = "first";
string usuario2 = "last";
IList<string> list = new List<string>();
list.Add(usuario1);
list.Add(usuario2);
comboBox1.DataSource = list;
//form is opened and display the last usuario that was added
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
And this is the result:
Upvotes: 1