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