Как автоматически обновить несколько вкладок на одной сетке данных - PullRequest
0 голосов
/ 10 июня 2011

Итак, у меня есть приложение с несколькими вкладками, которые совместно используют одну сетку данных. Я пытаюсь выяснить, как автоматически обновлять сетку данных каждый час. Каждая вкладка отображает результаты запроса с сервера SQL. Все вкладки необходимо будет обновлять каждый час, а также после добавления нового элемента в базу данных. Дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 10 июня 2011

Если вы используете WPF, просто привяжите DataGrid к общему источнику данных (ObservableCollection). Обновляйте свою коллекцию очень часто, и DataGrid будет автоматически обновляться.

XAML:

<DataGrid x:Name="DataGrid1" ItemsSource={Binding Path=SharedCollection, Mode=OneWay} .../>
<DataGrid x:Name="DataGrid2" ItemsSource={Binding Path=SharedCollection, Mode=OneWay} .../>
<DataGrid x:Name="DataGrid3" ItemsSource={Binding Path=SharedCollection, Mode=OneWay} .../>

Код сзади:

public class View : Window
{
    public View()
    {
        this.DataContext = new ViewModel();
    }
}

Просмотр модели:

public class ViewModel : INotifyPropertyChanged
{
   public ObservableCollection<MyType> SharedCollection = new ObservableCollection<MyType>();
   ...
   ...
   public void UpdateData()
   {
       SharedCollection.Clear();
       var data = GetMyDataFromSQLQuery();
       foreach( var item in data )
       {
           SharedCollection.Add( item );
       }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...