2012-04-19 8 views
0

ici je travaille sur mvvm. Je veux informer uodate dans datgrid si n'importe quel changement dans textbox se produit. Quel est le code pour cela?IN mvvm comment notifier les données de magasin dans DataGrid?

public void Save() 
     {if (IsNew) 
       _accountCategoryDataSource.Add(_accountCategory); 

le code ci-dessus pour les données add dans la base de données

et au-dessous du code de chargement des données dans DataGrid pour l'affichage

private void LoadAllAccounts() 
     { 
      _allAccounts = 
       (from account in _accountDataSource.GetAll() as List<Account> 
       select new AccountViewModel(account, _accountDataSource)).ToList(); 
      Accounts = new ObservableCollection<AccountViewModel>(_allAccounts); 

      if (Accounts.Count > 0) 
       SelectedAccount = Accounts[0]; 
     }` 

mais je ne peux pas avoir le code pour montrer la mise à jour dans DataGrid comment il est terminé?

+0

comment sont grille/comptes et textbox liés comme données, ce qui est en zone de texte – NSGaga

+0

@NSGaga: Voici les informations de compte d'affichage de la grille et en utilisant textbox nous pouvons donner une valeur comme account_name, account_owner, etc. pour le stockage/mise à jour dans la base de données. – pratikjgandhi

Répondre

0

Votre propriété DataSource ItemsSource est-elle liée à cette collection de comptes? Si c'est le cas, est-ce que votre classe Account et la classe AccountViewModel implémentent INotifyPropertyChanged. Si ce n'est pas le cas, vous devez implémenter cette interface pour que les modifications soient propagées vers l'interface utilisateur.

Jetez un oeil ici pour plus d'informations: http://msdn.microsoft.com/en-us/library/ms743695.aspx

+0

en utilisant ce lien je peux mettre à jour la valeur de la zone de texte dans la grille de données. Mais comment je peux mettre à jour la valeur dans la base de données. – pratikjgandhi

+0

Cela dépend de ce que vous utilisez pour parler à la base de données. Si vous utilisez Entity Framework, appelez SaveChanges() sur le DbContext qui contient l'objet que vous avez mis à jour. L'instruction de mise à jour appropriée sera envoyée à la base de données. Quelle solution ORM ou de stockage utilisez-vous? – CodeWarrior

+0

très très merci. – pratikjgandhi

Questions connexes