我有一个最佳实践问题。我正在C#/ .NET 4.0中构建一个Windows窗体应用程序,其中每隔X秒就会在幕后进行“扫描”并更新数据库。我想在指定的时间间隔刷新DataGridView以反映现在在数据库中表示的数据。我计划通过在表单和tick事件中添加一个计时器来完成此操作,只需重新填充DataGridView即可。我想知道这种方法是否是最好的方法,或者是否有更推荐的方法来做到这一点?
答案 0 :(得分:1)
对于指定时间间隔的datagridview刷新,请使用带委托的多线程。它更适合内存管理。
答案 1 :(得分:0)
如果您使用MVVM模式,请将您的数据网格数据源绑定到一个集合,每次更改时都会更改属性(Mode = TwoWay)您的数据网格将自动更新...
private ObservableCollection<Data>_dataCollection ;
public ObservableCollection<Data> DataCollection
{
get { return _dataCollection ; }
set
{
_dataCollection = value;
RaisePropertyChanged("DataCollection ");
}
}
XAML代码是:
<DataGrid DataSource="{Binding Mode=TwoWay, Path=DataCollection}"
DataContext="YourViewModel">