2011-06-10 31 views
0

因此,我有一个应用程序具有共享一个数据网格的多个选项卡。我想弄清楚如何让datagrid每小时自动更新一次。每个选项卡都显示来自sql server的查询结果。所有选项卡都需要每小时更新一次,以及在将新项目添加到数据库之后。让我知道你是否需要更多信息。如何自动刷新一个数据网格上的多个选项卡

回答

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); 
     } 
    } 
} 
相关问题