2013-03-07 1 views
0

Я работаю над Silverlight 5 и RIA Services для операций с базой данных. DataGrid отлично отображает данные.Как обновить DataGrid?

Но когда я удаляю запись и отправляю изменения в базу данных, обновление базы данных успешно, но DataGrid показывает все еще старые данные. Это не освежает.

Я ищу в Google и удивляюсь, что нет простого ответа, и я также удивляюсь, что Microsoft не предоставила эту базовую функциональность в Silverlight.

ответ

1

Это не очень хороший способ, но я обошел это, установив DataGrid в значение null и повторное добавление данных.

System.Collections.IEnumerable temp = yourGrid.ItemsSource; 
yourGrid.ItemsSource = null; 
yourGrid.ItemsSource = temp; 

Мне не нравится это делать, но это работает, и для моих целей я не заметил никаких ударов с производительностью.

Edit: Я предполагаю, что это не может работать с удалением, хотя, но стоит попробовать

+0

Что вы скажете об этом отсутствующей основной особенности в Silverlight. Вас это не удивляет? – user1390378

+0

Меня это не удивляет, но во всех моих поисковых онлайн-тестах это был единственный способ заставить его работать. Мне трудно поверить, что никто не думал, что refresh() или invalidate() будет хорошей идеей, но, похоже, она не существует. – Aharpe

0

Вы пробовали использовать PagedCollectionView как ItemSource?

Что-то вроде:

DataGridMainTopic.ItemsSource = new PagedCollectionView(m_context.EntitySet); 

или даже:

DataGridMainTopic.ItemsSource = new PagedCollectionView(DataGridMainTopic.ItemsSource); 

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

  • Нет связанных вопросов^_^