Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在一个datagrid上自动刷新多个选项卡_C#_Sql_Wpf_Datagrid_Tabs - Fatal编程技术网

C# 如何在一个datagrid上自动刷新多个选项卡

C# 如何在一个datagrid上自动刷新多个选项卡,c#,sql,wpf,datagrid,tabs,C#,Sql,Wpf,Datagrid,Tabs,所以我有一个应用程序,它有多个标签共享一个数据网格。我正试图找出如何让datagrid每小时自动更新一次。每个选项卡都显示来自sql server的查询结果。所有选项卡都需要每小时更新一次,以及在将新项目添加到数据库后更新一次。如果您需要更多信息,请告诉我。如果您正在使用WPF,只需将DataGrid绑定到共享数据源(ObservableCollection)。每隔一段时间更新您的集合,DataGrid将自动更新 XAML: 视图模型: public class ViewModel : INot

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

如果您正在使用WPF,只需将DataGrid绑定到共享数据源(ObservableCollection)。每隔一段时间更新您的集合,DataGrid将自动更新

XAML:

视图模型:

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 );
       }
   }
}
公共类视图模型:INotifyPropertyChanged
{
public ObservableCollection SharedCollection=新ObservableCollection();
...
...
公共void UpdateData()
{
SharedCollection.Clear();
var data=GetMyDataFromSQLQuery();
foreach(数据中的var项)
{
SharedCollection.Add(项目);
}
}
}
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 );
       }
   }
}