2017-11-01 4 views
0

データベース列を編集するためのフォームがあります。編集が完了し、フォームを編集していないときは、そのコードを記述していても、グリッドビューのメインフォームでは変更されません。ソフトウェアを再起動すると変更されます。私の質問についてデータベースから列を編集中にdatagridviewを変更しないでください

private void RefreshData() 
{ 
    NewMainDataGridView.DataSource = BLL.View().Select(a => new { a.Id, a.FirstName, a.LastName, a.PhoneNumber }).ToList(); 
} 
    private void MainForm_Activated(object sender, EventArgs e) 
{ 
    RefreshData(); 
} 

詳細は:

私の問題は、列の情報を変更した後、データグリッドを更新していません。 たとえば、SQLサーバーでは、顧客名または姓を編集しますが、データグリッドに変更はありません。変更を表示するために書いたプログラムを再実行する必要があります。この問題は、データベースから得意先を削除する場合にのみ編集するためのものです。この変更は、アプリケーションをリブートすることなく適用されます。 私のメインフォームがアクティブだったときに再びデータベースを読み込むコードを書いたが、私が言ったように、編集中は起こらない。

+0

@インディあなたの問題を広く説明できますか?この説明からあなたの問題を理解することは本当に難しいです。データの更新に問題がありますか? – gypsyCoder

+0

@gypsyCoder:質問を編集し、問題の詳細を説明しました – Mmdi

答えて

0

あなたがMDI子フォームを使用している場合、それは更新されません。 アクティブイベントはmdiフォームを動作させません。

+0

テーブルから行を削除して、アクティブなコードが書かれている元のフォームに戻しています。変更が適用されます。しかし、テーブルから列を編集しても、変更はありません。 – Mmdi

+0

edit.your Activatedイベントが発生してコードが機能しないためです。アクティブなイベントをコミットしてもう一度やり直してください。 – user3346575

+0

「コミット」という言葉が意味することを理解できません。どのように使用できますか? – Mmdi

関連する問題