[SOLUCIONADO] Cómo relleno un DataGrid con tipo anónimo?
-
domingo, 03 de junio de 2012 22:29
Hola a tod@s.
Estoy empezando con VB.NET y Linq to Entity y tengo una duda.
Me he hecho un CRUD con un formulario y todo correcto, pero mi problema viene al empezar a separarlo en distintas clases.
Si lo hago en el misma clase del formulario va bien porque lo añado directamente al grid
Private contexto As New ventasEntities Sub selectAllProveedores() Dim datos = From p In contexto.proveedores Select p.nombre, p.cif, p.idproveedores Me.DataGridView1.DataSource = datos End Sub Private Sub ButtonSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click loadProveedores() End SubPero si lo paso a la clase no sé que tipo debo retornar para rellenarlo
'Clase Proveedores Public Class ProveedoresClass Private contexto As New multiventasEntities Function SelectAllProveedores() Dim resultado = From p In contexto.proveedores Select p.nombre, p.cif, p.idproveedores Return resultado End Function End Class 'Método en mi Form Private Sub ButtonSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim prov As New ProveedoresClass 'Dim allProv As New List(Of proveedores) 'allProv = prov.SelectAllProveedores 'Me.DataGridView1.DataSource = allProv End Sub
He visto que lo que devuelve la función es un tipo anónimo pero no encuentro como llenar el grid.
A ver si podeis guiarme un poco.
Muchas Gracias y Saludos.
- Editado CarmaZone sábado, 09 de junio de 2012 13:44
Todas las respuestas
-
lunes, 04 de junio de 2012 2:05Moderador
estas seguro que no falla el devolver un metodo anonimo como resultado de uan funcion ?
porque sino seri simplemente
Private Sub ButtonSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim prov As New ProveedoresClass Dim allProv = prov.SelectAllProveedores() Me.DataGridView1.DataSource = allProv End Sub
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
lunes, 04 de junio de 2012 13:18
Efectivamente Leandro.
No sé por qué me estaba dando una excepción de conversión de tipos en mi función, lo he hecho de nuevo y perfecto.
Lo dejo por si a alguien nuevo le sirve
' Clase proveedores Public Class ProveedoresClass Private contexto As New ventasEntities Function SelectAllProveedores() Dim datos = From p In contexto.proveedores Where p.activo = 1 Select p.nombre, p.cif, p.idproveedores Return datos End Function End Class ' Evento en formulario Private Sub ButtonSelect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Creamos una instancia de nuestra clase proveedores Dim prov As New ProveedoresClass 'Guardamos el resultado devuelto y rellenamos el grid Dim allProv = prov.SelectAllProveedores Me.DataGridView1.DataSource = allProv End SubGracias y Salu2.
- Editado CarmaZone lunes, 04 de junio de 2012 13:22

