texto seleccionado obtener llenar item desde datos c# linq combobox anonymous-types

seleccionado - llenar combobox c# desde base de datos



Usando la propiedad SelectedItem de ComboBox con tipo anĂ³nimo Linq (2)

Esto debería funcionar

var list = (from p in db.products select new { p.ProductId, p.Name }).ToList(); comboBox1.DataSource = list; comboBox1.SelectedItem = list[0];

En C # 3.5 usando un ComboBox para mostrar los resultados de una consulta de LinQ. ¿Cómo configuro la propiedad de elemento seleccionado del cuadro combinado cuando la consulta LinQ devuelve un tipo anónimo?

Establecí el origen de datos del cuadro combinado en estas líneas:

comboBox1.DataSource = from p in db.products select p; comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "ProductId";

Si lo hago, puedo elegir el elemento seleccionado haciendo algo como:

comboBox1.SelectedItem = (from p in db.products where p.ProductId = 5 select p).First();

El problema es que quiero llenar un cuadro combinado con un resultado de tipo anónimo como:

comboBox1.DataSource = from p in db.products select new { p.ProductId, p.Name };

El tipo anónimo que estoy usando es más complicado que eso, pero es suficiente para una explicación.


¿Qué hay de convertirlo a una lista, y luego elegir el correcto de ella? Dado que SelectedItem no parece funcionar, puede intentar configurar SelectedValue.

var productList = (from p in db.products select new { ProductId = p.ProductID, Name = p.Name }).ToList(); comboBox1.DataSource = productList; comboBox1.DisplayMember = "Name"; comboBox1.ValueMember = "ProductId"; comboBox1.SelectedValue = 5;