2010-11-08 14 views
0

J'ai une question sur les meilleures pratiques. Je construis une application Windows Forms en C# /. NET 4.0 où "scans" aura lieu dans les coulisses toutes les X secondes et mettra à jour une base de données. Je voudrais actualiser DataGridView sur un intervalle spécifié pour refléter les données qui sont maintenant représentées dans la base de données. Je prévois de le faire en ajoutant une minuterie au formulaire et sur l'événement tick, juste re-remplir le DataGridView. Je me demandais si cette approche est la meilleure méthode ou s'il y a une façon plus recommandée de le faire?C# DataGridView Actualiser à l'intervalle spécifié

Répondre

1

Pour l'actualisation datagridview à intervalle spécifié, utilisez multithreading avec delegate.Its mieux pour la gestion de la mémoire.

check this

0

Si vous utilisez un modèle MVVM une liaison entre votre source de données DataGrid à une collection Wich propriété raise changé chaque fois qu'il a changé (mode = TwoWay) Votre grille de données sera mise à jour automatiquement ...

private ObservableCollection<Data>_dataCollection ; 
    public ObservableCollection<Data> DataCollection 
    { 
     get { return _dataCollection ; } 
     set 
     { 
      _dataCollection = value; 
      RaisePropertyChanged("DataCollection "); 
     } 
    } 

Et le code XAML est:

 <DataGrid DataSource="{Binding Mode=TwoWay, Path=DataCollection}" 
       DataContext="YourViewModel">