2012-04-19 8 views
0

ここmvvm .iに取り組んでいます。テキストボックスに何らかの変更があった場合、datgridでuodateに通知します。そのコードは何ですか?IN mvvmどのようにDataGridにストアデータを通知するのですか?

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

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]; 
     }` 

を表示するためのデータベース

とデータグリッドにデータをロードするためのコードの下にデータを追加するが、私はそれがどのようにデータグリッド内の更新を示すためのコードを持つことができないため、上記のコード完了?

+0

はどのようにテキストボックスに – NSGaga

+0

@NSGaga何、データとして関連グリッド/アカウントとテキストボックスです。ここではグリッド表示アカウント情報とテキストボックスを使用して、我々は価値を与えることができますそれをデータベースに格納/更新するためのaccount_name、account_ownerなど – pratikjgandhi

答えて

0

DataGrids ItemsSourceプロパティは、そのアカウントのコレクションにバインドされていますか?その場合、AccountクラスとAccountViewModelクラスはINotifyPropertyChangedを実装します。そうでない場合は、そのインターフェイスを実装して、変更をUIに伝播する必要があります。

詳細はこちらをご覧ください: http://msdn.microsoft.com/en-us/library/ms743695.aspx

+0

このリンクを使って、私はデータグリッドのテキストボックスの値を更新できます。しかし、どのようにしてデータベースの値を更新できますか? – pratikjgandhi

+0

それはあなたがデータベースと話すために使用しているものによって異なります。 Entity Frameworkを使用している場合は、更新したオブジェクトを含むDbContextでSaveChanges()を呼び出します。適切な更新ステートメントがデータベースに送信されます。どのORMまたはストレージソリューションを使用していますか? – CodeWarrior

+0

非常に大変ありがとうございます。 – pratikjgandhi

関連する問題