2011-12-02 26 views
0

可能性の重複:
simple DataGridView refresh question更新DataGridViewのバインドされたデータが編集された後(更新)C#の

I持っている一覧から、データバインドされた項目の束を持っているのDataGridViewを持ってMainFormを。そこから、新しいフォームを開き、テキストボックスなどを使用してコンテンツを変更することによって、DataGridView(およびリスト)の選択した行を編集できます。編集作業はうまくいきますが、編集フォームを閉じると、DataGridviewは更新されません。更新されたアイテムを表示するには、リストからアイテムをリロードする必要があります。現時点で

私は、終了ボタンのクリックイベントの際にはなく無駄に編集フォームでこれをやっている:

  private mainForm mForm = new mainForm(); 
:mFormは、メインフォームのインスタンスである

  MessageBox.Show("Client successfully edited");    
      mForm.DataGridViewProp.EndEdit(); //dgv property within the mForm 
      mForm.DataGridViewProp.Refresh(); //dgv property within the mForm 
      mForm.DataPanel.Invalidate(); //the panel the dgv is in 
      mForm.DataPanel.Refresh(); //the panel the dgv is in 
      this.Close(); 

私は編集を100%うまくいきました。それは単にDGVをリフレッシュしていないだけです。

ご協力いただきまして誠にありがとうございます。

ありがとうございました

答えて

0

私はあなたがそれを変更した後にバインドする必要があると思います。

+0

これも私が考えたものです。メインフォームのデータをリバインドするとうまくいくので、それがどういうことかはっきり分かっています。私は、この問題は2つのフォームの使用の間にあり、より具体的には、編集フォームからdgvをリフレッシュすることにあると思います。 – Ari

+0

あなたは別のフォームでボタン呼び出しCLOSEを追加することができますし、そのボタンをクリックすると再度gridviewをバインドできます... – Hiren

0

グリッドにバインドされているデータソースはプロパティの変更通知をサポートしていますか?そうでなければ、グリッドに適切なメカニズムを伝え、レコードが変更されたことを知らせる必要があります。

関連する問題