2009-03-26 57 views
6

Pasos para bebés rodando ... Tengo un formulario con una cuadrícula de datos vinculada a una tabla. Tengo algunos cuadros de texto en el formulario vinculados a la tabla [columnas], de modo que al desplazarme por la cuadrícula, los cuadros de texto muestran los datos correspondientes.WinForms C# DataGridView force refresh

Voy a un "Modo de edición" de los cuadros de texto y cambio el contenido y presiono el botón para guardar. La cuadrícula no actualiza el contexto modificado hasta que hago clic físicamente en la celda que fuerza una llamada a las tablas eventos OnChanging y OnChanged ...

¿Cómo puedo FORZAR cualquier evento para "vaciar" la mesa al final de mi edición y la he actualizado en la vista de cuadro de datos.

Gracias

Respuesta

10

¿Has intentado llamar al método Invalidate de dataGridView?

this.dataGridView1.Invalidate(); 
+0

Mi mal. El evento "Hacer clic" del botón de nivel de formulario nunca se activó directamente porque había usado una clase personalizada que tenía un comportamiento de método predeterminado. Después de ajustar eso según sea necesario, funciona perfectamente ... Sin embargo, hice InvalidateROW para el único registro en cuestión. Gracias – DRapp

1

¿Está utilizando un BindingSource? Si es así, llame al método EndEdit en el evento Leave del TextBox.

+0

Sin impacto. Tanto la cuadrícula (obviamente) como los cuadros de texto están vinculados a la instancia de DataTable, pero parece que no puedo forzar el lanzamiento de las tablas "OnChanging"/"OnChanged", que es lo que sucede cuando vuelvo a hacer clic en la cuadrícula manualmente después de guardar un editar. – DRapp

Cuestiones relacionadas