2012-07-04 14 views
14

Mi fuente está en una base de datos MySQL, hice un comando de actualización y ahora necesito actualizar mi DataGrid.Cómo actualizar la cuadrícula de datos en WPF

MySqlCommand cmd = new MySqlCommand(
    "update request set status = " + StatusRequest(value) + 
    " where id = " + rowView[0].ToString() + "", conn); 
MySqlDataReader myReader = cmd.ExecuteReader(); 

¿Cómo actualizo mi DataGrid?

Respuesta

31

Actualizar la fuente de datos de la parrilla después de la actualización

myGrid.ItemsSource = null; 
myGrid.ItemsSource = myDataSource; 
+0

¡oh! ¡sí! ¡¡trabajo!! –

5

¿Qué tal

mydatagrid.UpdateLayout(); 
+0

no se refluye, pero si modifico la actualización de los cursos de programm, necesito volver a configurar el tiempo en línea –

4

obligarán a una cuadrícula de datos ObservableCollection, y actualizar su colección en su lugar.

+0

¿Qué pasa con los artículos que se actualizan? ¿maneja las actualizaciones? – Leonardo

+0

@Leonardo Para eso necesitaría sus objetos para implementar la interfaz INotifyPropertyChanged. https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged%28v=vs.110%29.aspx –

8

De MSDN -

CollectionViewSource.GetDefaultView(myGrid.ItemsSource).Refresh(); 
+2

¡Bienvenido a Stack Overflow! Si bien esto puede responder a la pregunta, [sería preferible] (http://meta.stackoverflow.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia. –

0

tuve muchos problemas con esto y esto es lo que me ayudó a conseguir la cuadrícula de datos a cargar con los nuevos valores. Asegúrese de utilizar el tipo de datos del que está obteniendo los datos para obtener los últimos valores de datos.

Lo representé con SomeDataType a continuación.

DataContext.Refresh(RefreshMode.OverwriteCurrentValues, DataContext.SomeDataType); 

Espero que esto ayude a alguien con los mismos problemas que tuve.

Cuestiones relacionadas