2012-07-04 25 views
14

Мой источник находится в базе данных MySQL, я сделал команду обновления, и теперь мне нужно обновить DataGrid.Как обновить datagrid в WPF

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

Как освежить DataGrid?

ответ

31

Обновить источник данных вашей сетки после обновления

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

oh! да! Работа!! –

5

Как насчет

mydatagrid.UpdateLayout(); 
+0

не refrash, но если я перепрограммирую обновление параметров программы, мне нужен refrash в режиме онлайн –

4

Bind вас Datagrid к ObservableCollection и обновить свою коллекцию вместо.

+0

Что касается предметов, которые обновляются? обрабатывает обновления? – Leonardo

+0

@ Leonardo Для этого вам понадобятся ваши объекты для реализации интерфейса INotifyPropertyChanged. https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged%28v=vs.110%29.aspx –

8

От MSDN -

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

Добро пожаловать в Stack Overflow! Хотя это может ответить на вопрос, [было бы предпочтительно] (http://meta.stackoverflow.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. –

0

У меня было много проблем с этим, и это то, что помогло мне получить DataGrid перезагружается с новыми значениями. Убедитесь, что вы используете тип данных, из которого вы получаете данные, чтобы получить последние значения данных.

Я представлял это с SomeDataType ниже.

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

Надеюсь, это поможет кому-то с теми же проблемами, что и я.

Смежные вопросы