2012-10-04 18 views
5

Soy muy nuevo en la codificación. Ahora voy a contarte sobre mi situación actual y hacia dónde quiero ir. Espero que ayudes.¿Cómo hacer un enlace de datos bidireccional usando EF en winforms?

Estoy utilizando el primer enfoque de la base de datos EF5.0 y quiero poder usar las vistas de malla para listar y actualizar los valores de la base de datos.

Actualmente estoy vinculantes mis datos de la siguiente manera:

pehlivan_kabametrajEntities ctx = new pehlivan_kabametrajEntities(); 
     var result = from k in ctx.Kolons 
        select k; 
     dataGridView1.DataSource = result.ToList(); 

Este código enumera mis datos a la perfección. Sin embargo, es incorrecto o no es suficiente para mis necesidades. Porque quiero poder editar mis datos directamente en la vista de cuadrícula. Por favor dime qué está mal y qué debería hacer. Al menos los enlaces de algunos documentos que me llegarán al punto de destino que deseo serían geniales. Thx.

+0

¿Qué estás teniendo problemas con? 1) ¿Después de poblar el gridview que puede editar los datos en la página? o 2) Obtener los datos editados de la página y volver a la base de datos? –

+0

Ambos en realidad (: – Hasan

Respuesta

3

Si enlaza al resultado de la consulta, está utilizando solo el enlace de datos de una vía. Debe tener IBindingList para obtener un enlace de datos bidireccional. Prueba esto:

ctx.Kolons.Load(); 
dataGridView1.DataSource = ctx.Kolons.Local.ToBindingList(); 

Si no funciona trate de usar BindingSource:

ctx.Kolons.Load(); 
gridBindingSource.DataSource = ctx.Kolons.Local.ToBindingList(); 
dataGridView1.DataSource = gridSource; 
+0

Dice que no hay definición para .Load() o .ToBindingList(). ¿Estoy usando VS2012 podría cambiarse este método? – Hasan

+0

Pensé que estás usando EF5 lo que significaría DbContext API pero parece está utilizando solo .NET 4.5 y la antigua API ObjectContext. –

+0

En realidad, no sé qué hice. Añadí un Modelo de Datos de Entidad ADO.NET a mi proyecto utilizando el primer enfoque de la base de datos y creó mi código. Creo que necesito para empezar de nuevo aprendiendo este tema. ¿Puede sugerir un tutorial o algo para aprender mejor? – Hasan

Cuestiones relacionadas