如何自动刷新一个数据网格上的多个选项卡

时间:2011-06-10 13:27:40

标签: c# sql wpf datagrid tabs

所以我有一个应用程序,它有多个共享一个数据网格的选项卡。我试图弄清楚如何让datagrid每小时自动更新。每个选项卡都显示来自sql server的查询结果。在将新项目添加到数据库之后,所有选项卡都需要每小时更新一次。如果您需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果您使用的是WPF,只需将DataGrid绑定到共享的DataSource(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 );
       }
   }
}