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;