2013-09-01 116 views
0

我有一個DataGridView和一個按鈕的形式A.點擊一個按鈕後,新窗體,窗體B打開。插入後C#DataGridView刷新

在窗體B上我有兩個文本框和更新按鈕。點擊該按鈕數據被插入到數據庫中。而表格B已關閉。

如何更新DataGridView以獲取新數據。它不能從表單B訪問。

回答

1

的ShowDialog形式B和返回的DialogResult InsertButton後點擊,檢查後,從B呼叫了,如果DialogResult的是是重新綁定的DataGridView

//in Form A 
private void btnOpenFromB_Click(sender,event) 
{ 
FormB B =new FormB(); 
if(B.ShowDialog()==DilogResult.Yes) 
    //Call RefreshMethod of DG 
} 


//In Form B 
//in Constructor 
public FromB() 
{ 
    initilizeComponents(); 
    DialogResult=DialogResult.No; 
} 
//In Insert Button Click 
private void InserClick(sender,event) 
{ 
    if(Checking()==true) 
    { 
     //Insert Operations 
     DialogResult=DilogResult.Yes; 
     this.Close(); 
     } 
} 
+0

你說(RefreshBindings): 「我有A型,其上的DataGridView和一個Button。點擊一個按鈕後,新窗體,窗體B打開「,用上面的FormB調用替換」FormB B = new FormB(); if(B.ShowDialog()== DilogResult.Yes)//調用Refresh方法FormA在FORM A「 – mojtaba

+0

偉大的解決方案,但有更優雅的嗎? – Sysrq147

+0

這種方式很容易和確定,但可能是傳遞給構造函數的參數,或者使用來自A的公共變量,並使用Form B中的公共變量來確定插入操作。但複雜和高數據變化風險。 – mojtaba

0

嗨在Form B構造函數中給出Form A或在創建後添加它,您需要在關閉Form之前更新網格。

第二種方式是將數據放入Form A中的字段中,然後等待Form B在關閉後更新網格後關閉。